2016-08-05 4 views
0

ビルドサーバーでTFS(2015)をセットアップし、いくつかのソリューションを構築しました。TFS 2015で不規則なビルドエラーが発生する(アセンブリが見つからない)

The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. 

それを修正するために、私はもう一度ビルドをキューに入れる必要があります。そうは次のように

時々ビルドは不可解、アセンブリが不足していることを示すエラーの多くで、失敗します。編集やチェックインなし、ただ単に「新しいビルドを待ちます」、そして正常にビルドされます。

これは、手動ビルド、自動ビルド、単一ビルド、または複数のソリューションを構築する場合に発生します。なぜこのようなことが起こるのかわかりません。私はそれがナゲットの問題だとは思わない。なぜなら、ビルドサーバーがナゲットパッケージをダウンロードする際に失敗すると、さまざまなエラーが発生するからです(また、System.Runtimeのダウンロードにも使用されるナゲットですか?

私が言ったように、これは簡単に修正できますが、リリースサイクルを合理化するために継続的な統合と自動展開(Octopus)を使用しています。これらの「偽」エラーは、ビルドエラーブザーが鳴り始めると、 。

+0

新しいWebベースのビルドシステムまたは古いXAMLビルドシステムを使用していますか? –

+0

複数のビルドサーバーを使用していますか? –

+0

あなたのビルドスクリプト/ソリューションなどについては何も知りませんが、これは野生の推測ですが、ランダムなのでかなり可能です。 MSBUILDの並列コンパイルを有効にしましたか?はいの場合は、ソリューションファイル内のすべてのプロジェクト依存関係を正しく定義していますか?並列ビルドが有効になっている場合(MSBUILD/mまたは/ maxcpucountスイッチ)、依存関係を適切に定義していない場合、依存するプロジェクトがその依存関係の1つよりも早く構築される可能性があります。 – Isaiah4110

答えて

0

問題は、おそらく人為的なエラーであったと思われます。使用可能なビルドエージェントはすべて、この特定のソリューション用にプールに追加され、これらのエージェントの1つに.Net Framework 4.5.2がインストールされていませんでした。
エージェントがプールから削除されました。システム管理者からのフィードバックが正しい場合は、エラーが発生しなくなりました。

0

「MSBuild Arguments」を/m:1に設定して、MSBuildにすべてのプロジェクトで1つのプロセスを使用させて、それが有用かどうかを確認するようにしてください。

関連する問題