1

我有一个包含许多子项目的大项目。(如图所示)

两者WebSiteAWebSiteB引用了这两个DLL 项目。

但是,当我更改 dll 时 - 我需要更新每个网站中的每个bin。

我不想那样。

我知道我可以把它们放进去,GAC但我被告知不要(请不要问我为什么。)

在此处输入图像描述

有没有像这样的解决方案:

在此处输入图像描述

所以当我更新任何 dll 时 - 我只把它放在一个地方?(因此 dll 不会在每个站点上bin

4

2 回答 2

2

.refresh您可以使用文件参考来制造技巧,但未在实时服务器上进行测试

首先将您的公用 dll 放在公用目录中。
其次,在每个 bin 上,将*.refresh文件与 dll 放在一起,如果找到新版本,则说明从哪里更新 dll。

所以你在垃圾箱里面有这样的东西:

mySuperModule.dll
mySuperModule.dll.refresh

mySuperModule.dll.refresh中需要检查更新的模块的位置 ->

d:\Dlls\mySuperModule.dll

d:\dlls搜索新更新的 dll 的常见位置在哪里。

最后,您只更新公共目录 dll,而您离开项目使其余部分自动进行。

于 2012-10-30T08:45:22.787 回答
0

GAC 的全部意义在于提供该功能,如果您不使用该功能,那么您将无法以您想要的方式共享 DLL。这是由于站点是如何保护和相互分离的。

于 2012-10-30T08:22:15.163 回答