我有许多子项目的大项目。 (如在附图中所提到的)共享组件在一个位置?
WebSiteA
都和WebSiteB
已经参考既 DLL项目。
但是,当我改变DLL的 - 我需要更新每个网站的斌。
我不想那样。
我知道我可以把它们放在GAC
但我被告知不要
有没有像任何解决方案(不要问我为什么吧。):
所以当我更新任何DLL - 我只把它放在一个地方? (所以这些DLL不会在每个站点的bin
)
我有许多子项目的大项目。 (如在附图中所提到的)共享组件在一个位置?
WebSiteA
都和WebSiteB
已经参考既 DLL项目。
但是,当我改变DLL的 - 我需要更新每个网站的斌。
我不想那样。
我知道我可以把它们放在GAC
但我被告知不要
有没有像任何解决方案(不要问我为什么吧。):
所以当我更新任何DLL - 我只把它放在一个地方? (所以这些DLL不会在每个站点的bin
)
您可以使用.refresh
文件参考但不在现场服务器上测试。
首先将您的常用dll放在公共目录中。
在每个bin上放置第二个文件,将*.refresh
文件与dll一起放在一起,如果发现新版本,则说明从哪里更新dll。
,并让你有垃圾箱像里面:
mySuperModule.dll
mySuperModule.dll.refresh
和mySuperModule.dll.refresh模块需要检查更新里面的位置 - >
d:\Dlls\mySuperModule.dll
其中d:\dlls
是搜索新更新的dll的常用位置。
最后你只更新公用目录dll,并且你离开项目让其余部分自动完成。
相当有趣的方式,可能会尝试。 –
@RyanMcDonough我已经在当地完成了工作。但在实时服务器上,我们逐个更新所有服务器 - 我们遇到同样的问题:) – Aristos
@Aristos因此,让我说我有一个项目myGame,我需要引用一个dll。当我参考一个外部的dll - 它被复制到本地的bin .....那么好处在哪里? –
GAC的重点在于提供该功能,如果您不使用该功能,则无法以您想要的方式共享这些DLL 。这是由于网站的安全性和彼此分离。
是不是可以从这两个项目中提取常用功能,并创建一个最终将由WebSiteA和WebSiteB引用的通用dll?这样WebsiteA和WebsiteB更新不会发生冲突。 –