.NET 4.5 に移行しようとしている Web アプリケーション プロジェクトがあります。VS2010 がインストールされたビルド サーバーに TFS からビルドしていますが、これには VS2012 の正しい参照アセンブリもすべて含まれており、.NET 4.5 フレームワークがインストールされています。
プライベート アクセサーを含む単体テスト プロジェクトを実行すると、ビルドが次のエラーで失敗します -
System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\LocalPath\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll'
ただし、$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\TeamTest\Microsoft.TeamTest.Targets ファイルを変更すると、ビルドは成功します。
<UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll"/>
に
<UsingTask TaskName="BuildShadowTask" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TeamTest\Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll"/>
VS2012 でプライベート アクセサーを使用することはできなくなりましたか? もしそうなら、なぜ Microsoft.VisualStudio.TestTools.BuildShadowsTask.dll v11 は失敗し、v10 は成功するのでしょうか?
EDITこれは、実際にVS2012がインストールされているマシンでコンパイルされるため、アセンブリまたはレジストリキーが欠落しているという事実に違いありません。ビルド ログを見ると、両方のインスタンスで v11 フォルダーから BuildShadowTask が読み込まれています。私の質問は、Visual Studio 2012 をインストールせずにプライベート アクセサーを使用することは可能ですか? もしそうなら、この目標を成功させるには、どのような変更を加える必要がありますか?