2

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 も役に立ちません。私は間違っているかもしれません。どんな提案でも、これについて助けが必要です。

4

3 に答える 3

1

System.Web.OptimizationとSystem.Web.Providersは、ASPMVCプロジェクトのように聞こえます。とにかく、次のことを試してください。

  • 両方の参照に対して、「ローカルコピー」プロパティをFalseに設定します。
  • 変更を保存します
  • Trueに戻し、ビルドをトリガーします。

私にとってこれは役に立ちました。

于 2012-09-17T19:47:51.163 に答える
1

返信ありがとうございます。問題が見つかりました。一部の .dll が正しいパスにありませんでした。MSbuildが探していた場所の1つに.dllを移動しました。

于 2012-09-19T17:21:49.653 に答える
0

ビルド サーバーにいくつかの依存関係が不足しているようです。System.Web.Optimization と System.Web.Providers を取得するために開発者のマシンに何をインストールする必要があったかはわかりませんが、VS 2012 だけの場合は、ビルド エージェント サーバーに VS 2012 をインストールしてみてください。

于 2012-09-14T04:10:31.580 に答える