在Bin中包含GAC程序集

jae*_*kie 8 deployment dll gac visual-studio

任何想法如何强制引用GAC DLL?

这是我的问题,我经常使用第三方DLL将自己注册到GAC中,当我在我的项目中使用它时,它从gac读取它,当我部署时,我总是忘记添加DLL它不在Bin/Referenced文件夹中.

无论如何强制Visual Studio添加DLL而不是GAC?

小智 12

复制本地仅适用于GAC程序集(如果一个参考级别较深).例如,如果您有一个引用GAC程序集的项目,并且该项目是由您的Web项目引用的,那么是的,GAC程序集将被复制到第一个项目的bin文件夹,但它不会被复制到您的Web项目的bin文件夹.

然后,解决方案是直接在Web项目中将引用设置为GAC程序集,并指定Copy Local.即使Web项目在这种情况下不直接使用引用,它也会将其复制到Web应用程序的bin文件夹中.

  • 解决方案充满了危险,特别是涉及代码清理工具时.如果像Resharper这样的东西告诉你"不需要"的参考(想想大型项目团队)并清理这些参考文献,那么你就会回到原点. (2认同)

Joe*_*nez 7

右键单击程序集引用,选择属性,然后将"Copy Local"更改为true.这将导致它将程序集复制到部署目录中

  • 警告:这不是传递性的!因此,如果`MyExe`引用`MyLib`引用`DllInGac`,那么`MyLib`将被本地复制,但是*如果它们已经在GAC中,它的*依赖关系将不会被复制到`MyExe`. (9认同)

Fer*_*ran 5

在引用中选择dll,并在属性窗口中设置CopyLocal = true.