我有一个包含许多子项目的大项目。(如图所示)
两者WebSiteA
都WebSiteB
引用了这两个DLL 项目。
但是,当我更改 dll 时 - 我需要更新每个网站中的每个bin。
我不想那样。
我知道我可以把它们放进去,GAC
但我被告知不要(请不要问我为什么。)
有没有像这样的解决方案:
所以当我更新任何 dll 时 - 我只把它放在一个地方?(因此 dll 不会在每个站点上bin
)
我有一个包含许多子项目的大项目。(如图所示)
两者WebSiteA
都WebSiteB
引用了这两个DLL 项目。
但是,当我更改 dll 时 - 我需要更新每个网站中的每个bin。
我不想那样。
我知道我可以把它们放进去,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,而您离开项目使其余部分自动进行。
GAC 的全部意义在于提供该功能,如果您不使用该功能,那么您将无法以您想要的方式共享 DLL。这是由于站点是如何保护和相互分离的。