2014-09-03 83 views
0

我正在使用Visual Studio 2010與MCV4(單獨安裝)。Visual Studio - dll的引用自動創建在bin文件夾中

有些dll鏈接到orignal路徑,有些dll被複制到項目中。 我不希望它們被複制到項目中。

即構建Web項目(MCV4 - > Web API)時,我看到幾個dll,自動創建: Antlr3.Runtime.dll - 在項目文件夾(並且路徑不是原始文件夾)上創建。

也:EntityFramework.dll,System.Web.Optimization.dll和更多一些,

其中的System.Web是C:\ Program Files文件(x86)的\參考大會\微軟\ Framework.NETFramework \ V4 .0 \ System.Web.dll文件夾。

爲什麼上面的dll被複制到項目文件夾,我該如何強制執行它們將在原始文件夾上?

謝謝:)

回答

1

如果你右擊每個引用裝配在您的項目有一個屬性格式「Copy Local」。對於每個參考設置Copy Local = true,它將被複制到您的輸出文件夾(\ bin)中。

除非該DLL位於GAC(Global Assembly Cache)中,否則您將希望將其複製到本地,因爲應用程序無法知道從哪裏加載這些DLL。默認情況下,當您添加引用時,當DLL不在GAC中時,複製本地將爲真。

如果應用程序找不到需要的DLL,它將在需要DLL時失敗。

一個.Net應用程序只能從GAC或從您的應用程序路徑和子目錄加載DLL,除非您使用自己的Assembly.Load()代碼來執行此操作。

相關問題