WebサイトプロジェクトとC#ライブラリを含むC#ソリューションがあります。ソリューションをコンパイルすると、Webサイトから次のメッセージが表示されます。
プロジェクト参照 'MyLibrary'の依存関係を取得できませんでした。
このエラーメッセージがビルドに失敗したときに、TFSビルドでビルドしてみるまで、これはwbsiteのコンパイルと実行を停止しません。
これはどういう意味ですか、どうすればそれを回避できますか?
ウェブサイトのprojファイルをメモ帳で開き、参照などを確認してください...
多くのことを試した後、私は何かに気づきました。ビルドなどをクリアするために何をしても、エラーは解消されませんでした。私はソリューションを閉じて再度開きましたが、なくなりました。
「プロジェクト参照の依存関係を取得できませんでした」というエラーメッセージが表示された場合、考えられる原因の1つは、参照プロジェクトのターゲットフレームワークと互換性のないターゲットフレームワークを持つソリューションの別のプロジェクトを参照していることです。
プロジェクトのプロパティに移動し、左側の[アプリケーション]タブを選択すると、プロジェクトに指定されているターゲットフレームワークを確認できます。
これは私に起こったので書いています。ターゲットフレームワーク3.5のプロジェクトからターゲットフレームワーク4.0のプロジェクトを参照していました。
私の場合、参照先のプロジェクトはVS 2010で作成されましたが、参照先はVS 2008ソリューションでした。この場合、vs 2010プロジェクトをメモ帳で編集し、ToolsVersion = "4.0"をToolsVersion = "3.5"に変更しました。
あなたの参照を見てください。 MyLibraryのプロジェクト参照の正しいパスがあることを確認してください。
それを削除して追加しようとします。次に、ビルドの代わりに、Rebuild Solutionを選択します。これは、rebuildがすべての.dllを削除して再構築するためです。
これはVS SDKの公式のバグです。
https://connect.Microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=27638
これを開いたところ、次のように読むことができました。Von Microsoft am09.05.2007 um 19:05 bereitgestellt
ご意見をいただきありがとうございます。 Visual Studio 2005 SP1でこのバグを再現し、問題の切り分けと解決のために、このバグをVisualStudio製品チーム内の適切なグループに送信しています。
Visual Studio製品チームに感謝します。
このバグはWebサイトプロジェクトにも存在し、そうです。 VS 20102 Ultimateを使用しています。私の仮想ディレクトリの下の\ APP_CODEにアプリケーションがあり、2 DLLのソースコードはC#であり、3つのDLLのソースコードはOxygene、OXygene( Pascal)からRemObjectsへ。この参照はPascalで記述されたDLLでのみ表示されますが、テストアプリケーションからこの3つのDLLをテストすると、すべて問題なく、テストアプリケーションでこの3つのDLL内のクラスまたは変数を参照することはまったく問題ありません。それで、VS出力ウィンドウの次のエラー文字列につながるコンパイル/ビルドの違いは何ですか?何度も説明されているように、決して消えないエラー。
プロジェクト参照 'Toolbox'の依存関係を取得できませんでしたプロジェクト参照 'IMPLEM'の依存関係を取得できませんでしたプロジェクト参照 'LEGACY'の依存関係を取得できませんでした
「TFSビルド」によって別のビルドサーバーを使用している場合は、ビルドサーバーが使用しているビルド構成を確認してみてください。
たとえば、ローカルマシンでビルドする場合、ビルドサーバーがリリース構成を使用しているときにデバッグ構成を対象とする場合があります。
各ビルド構成では、ビルドするプロジェクト「MyLibrary」が選択されていることを確認できます。
「クリーンソリューション」は役に立ちません。DLLを手動でWebサイトプロジェクト(Binフォルダー)から削除する必要がある場合があります。DLLを削除して、ソリューションを再度ビルドしてください。
ソリューションをクリーンアップして再ビルドした後でもこの問題が常に発生する場合は、参照されているプロジェクトのいずれかに問題があることを意味します。コンパイルプロセス中に警告がないか、[出力]ウィンドウを確認します。警告を修正すると、コンパイルに成功する可能性があります。