Visual Studio - 在bin文件夹中自动创建dll的引用

时间:2014-09-03 12:00:15

标签: visual-studio-2010 dll

我正在使用带有MCV4的Visual Studio 2010(单独安装)。

有些dll链接到orignal路径,有些dll被复制到项目中。 我不希望将它们复制到项目中。

即在构建Web项目(MCV4 - > Web API)时,我会看到几个自动创建的dll: Antlr3.Runtime.dll - 在项目文件夹上创建(路径不是原始文件夹)。

还有:EntityFramework.dll,System.Web.Optimization.dll等等,

其中system.web位于C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Web.dll文件夹中。

为什么将上面的dll复制到项目文件夹中,如何强制它们在原始dll上呢?

谢谢:)

1 个答案:

答案 0 :(得分:1)

如果您右键单击项目中的每个引用程序集,则会出现一个" Copy Local"。对于每个参考,您设置Copy Local = true它将被复制到您的输出文件夹(\ bin)。

除非DLL在GAC(Global Assembly Cache)中,否则您将需要在本地复制它,因为应用程序不知道从哪里加载这些DLL。默认情况下,当您添加引用时,当DLL不在GAC中时,Copy Local将为true。

如果应用程序找不到它需要的DLL,则在需要DLL时会失败。

.Net应用程序只能从GAC或应用程序路径和子目录加载DLL,除非您使用自己的Assembly.Load()代码执行此操作。