在.NET中两个项目之间共享dlls

3

如果在开发时将CopyLocal设置为False,则如何部署参考dll?

由于参考dll将位于部署服务器上的某个不同位置,因此需要进行一些调整。

4个回答

3

这些程序集与项目相关,而非全局相关,并且其中一些不是我们自己的dll,因此它们没有签名,我不想将我们的项目dll保存到GAC中,因为生产服务器也被其他团队使用... - Denish

2

当您部署它时,您可以手动将它们复制到 bin 目录中。


我不想这样做,因为我有许多项目部署在那里,我想在这些项目之间共享这些公共的dll。 - Denish
另一个选择是使用系统变量,例如在您的dll位置中使用%DLLPATH%,然后将此路径添加到定义不同位置的各个机器中。 - endyourif

2
您可以将dll文件放置在共享文件夹中 (例如 /bin/SubDir),将 CopyLocal 设置为 false,并确保项目的引用路径(在属性中)包括共享文件夹。

0

如果您已将“复制本地”设置为false,则请尝试使用VS中的“添加引用”来添加对该DLL的引用。

转到 解决方案资源管理器->右键单击->添加引用->浏览->选择DLL

另一种方法是,使用GACUtil.exe将您的DLL安装到全局程序集缓存中:
gacutil -i [assemblyPath ]


如果你看了下面的评论,我不想使用 GAC。我的问题在于部署而非开发。 - Denish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接