Share via


警告 : プロジェクト 'project' の依存関係 'file' は、参照 'file.' を上書きするため、実行ディレクトリにコピーできません。

依存関係で競合が発生しています。複数の異なるアセンブリ ファイルが同じ名前で、アプリケーションの実行される bin ディレクトリにコピーされる必要があります。 いずれかの依存関係がプライマリ参照であるため、実行ディレクトリが競合を解決できます。

このタスク一覧の項目をダブルクリックすると、競合が発生しているプライマリ参照ノードが表示されます。

この警告は、依存関係の競合があるが、競合している依存関係のいずれかを参照として追加することで競合を回避できた場合に表示されます。 または、バージョン 1 の参照があった場合に、最初の参照のバージョン 2 を参照するもう 1 つの参照を追加した可能性があります。

つまり、このエラーは、ソリューション内の複数のプロジェクトが互いへの参照を含んでいて、その参照がプロジェクト間参照 ([参照の追加] ダイアログ ボックスの [プロジェクト] タブを使用) ではなくファイル参照 ([参照の追加] ダイアログ ボックスの [参照] ボタンを使用) として作成されている場合に発生します。 プロジェクト間参照の利点として、ビルド システム内のプロジェクト間に依存関係が作成されるため、参照元のプロジェクトの前回のビルド以降に依存プロジェクトが変更されている場合は、依存プロジェクトがビルドされます。 ファイル参照ではビルド依存関係が作成されないため、依存プロジェクトをビルドせずに参照元のプロジェクトをビルドできます。したがって、参照が古くなる可能性があります。つまり、以前にビルドされたバージョンのプロジェクトがほかのプロジェクトから参照される場合があります。 その結果、bin ディレクトリ内に 1 つの DLL の複数のバージョンが必要になる場合がありますが、これは不可能であるため、エラー メッセージが出力されます。

このメッセージは、bin ディレクトリに競合が生じ、アプリケーションが正しく動作しなくなるたびに表示されます。 プロジェクト システムには、どのバージョンの依存関係が全コンポーネントに対して正しく動作したかを判断する手段がありません。したがって、この問題を回避したとしても、この警告は表示され続けます。

このエラーを解決するには

参照

処理手順

方法 : プロジェクトの依存関係を作成および削除する

概念

プロジェクト参照の管理

グローバル アセンブリ キャッシュ