2017-06-08 58 views
1

在我的VS 2015項目中,我有一個包含一些.dll文件的文件夾,我想根據平臺使用後期構建腳本將其複製到輸出目錄。Visual Studio複製設置爲「不要複製」的dll文件

爲防止Visual Studio觸摸它們,我將屬性「Copy to output directory」設置爲「不要複製」。我還將「構建行動」設置爲「無」。

但是,當我建立項目時,某些(但不是全部).dll文件被複制到輸出目錄。 我已經註釋掉了我的構建腳本。

構建輸出日誌說,該文件是一個目標「_CopyFilesMarkedCopyLocal」過程中被複制:

1>Target "_CopyFilesMarkedCopyLocal" in file "C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets" from project 
"C:\SS\C#\InSQLMDASDriver2014R2\InSQLMDASDriverMain\InSQLMDASDriverMain.csproj" (target "CopyFilesToOutputDirectory" depends on it): 
1>Task "Copy" 

... Copying of referenced assembly project output: 
1> Copying file from "C:\SS\C#\InSQLMDASDriver2014R2\InSQLMDASDriverGui\bin\x86\Debug\InSQLMDASDriverGui.dll" to "bin\x86\Debug\InSQLMDASDriverGui.dll". 

... Unwanted copying of static files below: 

1> Copying file from "C:\SS\C#\InSQLMDASDriver2014R2\InSQLMDASDriverMain\x64 Libraries\Historian.CBE.dll" to "bin\x86\Debug\Historian.CBE.dll". 
1> Copying file from "C:\SS\C#\InSQLMDASDriver2014R2\InSQLMDASDriverMain\x64 Libraries\Historian.DPAPI.dll" to "bin\x86\Debug\Historian.DPAPI.dll". 

...  

1>Done executing task "Copy". 
1>Done building target "_CopyFilesMarkedCopyLocal" in project "InSQLMDASDriverMain.csproj". 

這究竟是爲什麼......?

+0

是那些通過csproj文件中的項引用的dll? –

+0

dll被引用並標記爲'Copy Local',如同目標名稱所示。 –

+0

該dll沒有被引用,它們只是在項目的文件夾中。 –

回答

0

在我2015年VS的項目,我有,我想複製到使用不同的平臺上後生成腳本的輸出目錄中的一些.dll文件的文件夾。

你想使用後生成腳本複製DLL文件輸出目錄,而不是使用Visual Studio的?如果我正確理解你,你應該在參考文獻屬性中設置copy local=False。例如:

enter image description here

使用此設置,Visual Studio將不碰這些DLL。

相關問題