Visual Studio 2010 ビルドがエラーで失敗する: 参照先のプロジェクトが存在しません

この記事は、複数のプロジェクトを使用してソリューションをビルドし、それらのプロジェクト間に依存関係が存在する場合に、Microsoft Visual Studio 2010 のビルド エラーを解決するのに役立ちます。

元の製品バージョン: Visual Studio Professional 2010、Visual Studio Premium 2010、Visual Studio Ultimate 2010
元の KB 番号: 2516078

現象

Visual Studio 2010 では、複数のプロジェクトを含むソリューションをビルドしようとしたときに、それらのプロジェクト間に依存関係が存在する場合、特定の条件ではビルドが失敗し、次のエラー メッセージが表示されます。

"C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets (1200, 9): 警告: 参照先プロジェクト '現在のディレクトリから参照されているプロジェクトへの相対パス' は存在しません。

次の条件が満たされると、上記のエラー メッセージでビルドが失敗します。

  1. 複数のプロジェクトを持つソリューションがあり、それらのプロジェクト間に依存関係が存在します。

  2. 次の 2 つのパス長の合計は、259 文字 (= MAX_PATH - 1) まで正確に加算されます。

    • 参照元プロジェクトのディレクトリのパス。
    • 現在のディレクトリから参照されているプロジェクトへの相対パス (= 参照元のプロジェクトのディレクトリ)。

    注:

    MAX_PATH は、Windows API によって定義される最大パス長であり、260 文字に設定されます。

原因

この問題は、.NET Framework ライブラリの のバグが原因でPath.GetFullPath発生します。

これは、Visual Studio 2010 の既知の問題です。

メソッドの Path.GetFullPath 詳細については、「 Path.GetFullPath メソッド」を参照してください。

回避策

この問題を回避するには、パスの長さを変更し、次の 2 つのパス長の合計が 259 文字まで加算されていないことを確認します。

  • 参照元プロジェクトのディレクトリのパス。
  • 現在のディレクトリから参照されているプロジェクトへの相対パス (= 参照元のプロジェクトのディレクトリ)。