によって、ドロップ先にHttpファイルがコピーされない編集:この投稿を送信した後、私は実際の問題を特定しました:MSDuild/TFSBuildは.dll 'CopyLocal = true' GACにあります。この場合、 "System.net.http.formatting" dllはビルドサーバー上のGACにあります。 Look hereおよびhereシステム。* TAP 2015ビルドエージェント
TFS 2012から2015にアップグレードした後、ビルドエージェントは次のDLLをドロップ場所にコピーしなくなりました。ビルドエージェントがそれらのファイルをコピーしていない理由を特定するにはどうすればよいですか?
system.net.http.formatting、System.Web.Http.dllまたはSystem.Web.Http.WebHost.dll
詳細
- 私たちは、MVCプロジェクトとソリューションを持っています上記のdllを参照してください。
- .csprojファイルは、ヒントパスを使用して、ソリューション
/packages/...
ディレクトリ内のファイルを参照します。パスが有効であることを確認しました。ソリューションにpackagesディレクトリがあります。 - TFS 2015にアップグレードする前に、ソリューションをビルドするときに、上記のファイルがドロップ先にコピーされます。ただし、アップグレード後ではありません。
ビルドは失敗しませんが、TFS 2015のアップデート後にターゲットWebサーバーが 'ファイルが見つかりません'というエラーをスローします。 (MVCがなく、対象のWebサーバーにインストールすることはできません)
ビルドは、両方の、ビルドのログファイルを見ると
2012 XAMLのビルド定義を利用.dllファイル
を参照します
CSC.exe ... /reference:D:\B\15...packages\Microsoft.AspNet.WebApi.Client.4.0.20710.0\lib\net40\System.Net.Http.Formatting.dll
ビルドログは、TFS 2012のバージョンビルドのみが.dllファイルをドロップ場所にコピーすることを示しています。 D」から
コピーファイル::2015ビルドログは、次のような行を持っていません.. \パッケージ\ Microsoft.AspNet.WebApi.Client.4.0.20710.0 \ libに\ net40 \ System.Net D "を" .Http.Formatting.dll:.. \ BIN \ EG.WS.EZScan.Web.Intranet \ System.Net.Http.Formatting.dll
- がビルドサーバーがアップグレード中に変更されませんでした
- プロジェクトは、新しいバージョンのMVCに更新されませんでした。プロジェクトは、バージョン
4.0.0.0
を参照しています.GACedファイルは、次のように構成されています。 Eサーバーを構築し、私が見なければならない他に何バージョン4.0.0.0
(ファイルバージョン4.0.20710.0
)
です。
を確認してください?参照先のDLLをドロップ位置にコピーしたいのはなぜですか? –
カスタマイズされた展開システムがあります。私たちはビルド・エージェント・サーバーを構築し、コンテンツを開発/テスト/プロダクション・サーバーにプッシュします。ターゲットサーバには、同じコンポーネントがインストールされていない可能性があります。 ちなみに、新しいMS/Visual Studioパターン(特にコアを含む)は、GACに頼るのではなく、ビルド/デプロイメント時にすべてのバイナリを含めることです。近い将来、MSがこの問題に対処することを願っています。 – davewilliams459