Visual Studio 2010"添加引用"是将dll复制到bin目录?

Dav*_*vid 7 visual-studio-2010 visual-studio

我使用的是w7,64bit和vs.net 2010.

我正在添加对"添​​加引用"对话框中的组件的引用.该组件是第三方DLL.

从历史上看,在W7 32bit上,它会在我的web.config中添加一行(在程序集标记内)引用此dll并且它不会将dll复制到bin目录.

但是,在64位w7上,dll将被复制到bin目录,而web.config根本不会更新.

为什么要将dll复制到bin目录?谢谢

解决方案:(更新) 这些帖子给了我所需的线索.

如果您的系统无法在GAC中找到dll,VS.NET会将dll复制到bin目录.GAC中的程序集(在您的工作站上注册)可以通过查看C:\ Windows\Assembly目录找到.

vs.net'添加引用对话框'中列出的组件可能在gac中,也可能不在gac中.因为组件列在"添加引用"对话框中并不意味着它已在本地工作站上注册.我导航到组件目录并将所需的dll拖动到C:\ Windows\Assembly目录.我关闭并重新打开vs.net并浏览到相同的文件并单击添加引用.

**这会将程序集引用添加到我的web.config中(它也没有将dll复制到我的网站bin目录中)****

bdu*_*kes 12

在引用上,有一个" 复制本地"属性(在"属性"窗口中),它确定是否应将程序集复制到输出目录.

至于为什么这可能对其他参考文献没有重要意义,MSDN说:

如果部署/复制包含对GAC中注册的自定义组件的引用的应用程序,则无论" 复制本地"设置如何,都不会使用该应用程序部署/复制该组件.


Rus*_*uss 6

它获取副本到bin目录,以便可执行文件可以找到它.除非在GAC中安装了dll,否则它将无法找到它.

  • dll在gac中(因为它显示在'添加引用'对话框窗口中)所以我希望它不会复制dll (2认同)
  • +1,这个答案是对的."添加引用"对话框与GAC无关*.它只列出已注册的引用程序集,它从不列出GAC目录中的任何内容. (2认同)