2017-06-08 9 views
1

私は、プラットフォームに応じて、ポスト・ビルド・スクリプトを使用した出力ディレクトリにコピーしたかったいくつかの.dllファイルとフォルダがあります。それらに触れるからVisual Studioのを防止するためにVisual StudioのコピーのDLLファイルは、私のVS 2015のプロジェクトで

私は「コピーしない」に「出力ディレクトリにコピー」プロパティを設定します。また、「Build Action」を「None」に設定しました。

しかし、私は.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

は、これらのDLLがcsprojファイル内の '<リファレンス=を含める「..」>'項目を参照していますか? –

+0

dllはターゲットの名前と同じように参照され、 'ローカルコピー'としてマークされます。 –

+0

dllは参照されていません。プロジェクトのフォルダ内にあります。 –

答えて

0

私のVS 2015プロジェクトには、プラットフォームに応じてポストビルドスクリプトを使用して出力ディレクトリにコピーしたいいくつかの.dllファイルのあるフォルダがあります。

Visual Studioを使用せずにポストビルドスクリプトを使用してdllを出力ディレクトリにコピーしますか?私があなたを正しく理解していれば、参考文献のプロパティでdllのcopy local=Falseを設定する必要があります。例えば:この設定で

enter image description here

、Visual Studioは、DLLを触れないであろう。

関連する問題