2009-04-05 9 views
1

私のソリューションのすべてのプロジェクトには、リリースビルド用に ".. \ Release"、デバッグビルド用の ".. \ Debug"という出力パスがあります。dllが間違ったフォルダから出力パスにコピーされました

すべてのプロジェクトは、1つを除いて正常に動作します。

リリースで問題のあるプロジェクトをビルドするたびに、 ".. \ Release"にコピーされたdllは "obj \ Release"ではなく "obj \ Debug"から取得されます。これは、VSとMSBuildビルドを手動で実行することによって発生しますが、最初に "obj \ Debug"フォルダをクリーンアップすると発生しません。

これは私が関連していると思わビルドログの一部です:

17>Target CopyFilesToOutputDirectory: 
17> Task "Copy" 
17> Copying file from "obj\Release\XXXXX.dll" to "..\Release\XXXXX.dll". 
17> Command: 
17> copy /y "obj\Release\XXXXX.dll" "..\Release\XXXXX.dll" 
17> Done executing task "Copy". 
17> Task "Message" 
17> XXXXX -> C:\Dev\Service\Release\XXXXX.dll 
17> Done executing task "Message". 

これが起こる理由は上の任意のアイデア?

答えて

0

参照とパスを確認したい場合があります。それはあなたが何とかobjフォルダに対してそれを参照している可能性があります。これはIDEよりもcsprojで見やすいかもしれません( "ヒントパス"など)。

+0

私は自己を正しく説明していないと思います。間違ったフォルダからコピーされているDLLは、ビルド中の同じプロジェクトのDLLです。 私が話していた最初のプロジェクト。プロジェクトのいくつかが大丈夫なので、解決策に問題がないことを靴にするだけでした。 –

+0

実際にビルドログで "\ obj \ debug"の検索を実行し、そのパスへの参照があるプロジェクトが見つかった場合にのみ、私はあなたの答えを理解しました。ありがとう。 –

1

私はこのスレッドに対処していることを認識していますが、私はこのむずかしいVS問題(バグ?)に遭遇しました。私の修正は、間違ったパスからファイルをコピーしていたプロジェクトに単にobj \ release参照パスを追加することでした。

関連する問題