TFS のビルド エージェントでビルドを動作させようとしています。私は Visual Studio 2012 RC でソリューションを正常に構築でき、他の開発者は自分のソリューションで同じことを行うことができます。デバッグ構成のビルド定義を作成し、TFS サーバーでビルドをキューに入れました。次のエラー ログが表示されます。
Error: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1046): The command "IF EXIST ../batch (
cd ../batch
) ELSE (
cd ../../Sources/Solution_Name/Project_Name/batch
)
createDepsFile Project_Name
" exited with code 9009.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1561): Could not resolve this reference. Could not locate the assembly "System.Web.Optimization". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1561): Could not resolve this reference. Could not locate the assembly "System.Web.Providers". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
Error Global.asax.cs (16): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
プロジェクトに追加された参照を確認しました。それらのアセンブリが見つかりません。投稿全体を調べた後、NuGet を使用してこれらのアセンブリをソリューションに追加し、TFS でソリューションをチェックインするなどの良い提案を見つけました。不足している参照は、エラーではなく「警告」のみです。探しているNuget内のすべてのアセンブリをまだ見つけることができません。一部の投稿では、プロジェクトがビルド マシンにインストールされている .Net 4.0 ではなく .Net 4.5 を参照している可能性があると言及していました。問題が正確にわかるまで、ソリューションを変更したくありません。私はこの問題に散らばっています。
現時点では、ビルド定義とは関係ないと思います。Code 9009 も役に立ちません。私は間違っているかもしれません。どんな提案でも、これについて助けが必要です。