visual studio copy dll引用输出文件夹

时间:2010-09-03 12:31:18

标签: visual-studio dll

我正在尝试扩展某个应用程序。我正在使用与该应用程序捆绑在一起的DLL来扩展其功能。我正在使用visual studio 2010 express版。我添加了对dll库的引用。在引用属性中,禁用“复制本地”选项。(灰显)为什么?我希望visual studio将dll复制到我的发布文件夹中。如果无法做到这一点是否有另一种捆绑dll的方法?

2 个答案:

答案 0 :(得分:26)

您对Hans回答的评论表明这是一个COM程序集,您正在使用Visual Studio 2010.

这意味着可能在“嵌入互操作类型”设置为true时添加了程序集引用。这具有将COM程序集链接到二进制文件的效果,从而无需完全部署它。以下链接有更详细的解释

如果您确实要部署它,则需要执行以下操作

  • 点击参考标签
  • 中的参考
  • 点击F4调出属性网格
  • 将“嵌入互操作类型”设置为False(这将取消对本地复制)
  • 将“Copy Local”设置为true

答案 1 :(得分:2)

这取决于它是什么类型的DLL。如果是COM服务器,则在为该COM服务器注册PIA时,“复制本地”将关闭。如果它是常规.NET程序集,那么当它在GAC中注册时它将关闭。

分别通过使用regasm / u取消注册PIA或gacutil / u来解决问题,将其从GAC中删除。请注意,如果此DLL要求在目标计算机上执行其安装程序,则可能不希望这样做。这很可能。与组件供应商或作者交谈以了解您应该做什么。

相关问题