4

TFS 経由で CI ビルドを実行していますが、ローカルではなくビルド サーバーでビルドが失敗します。

ビルド サーバーに何かをインストールする必要がある可能性が高いため、このエラーは完全に予想外というわけではありませんが、ビルド出力にエラー メッセージはありません。

ビルドを編集して出力を「診断」に設定しましたが、以下の一般的なエラーを除いてエラーは発生しません。

次のエラーのみが表示されます。

例外メッセージ: MSBuild エラー 1 により、このビルドは終了しました。上記のメッセージで、このエラーの原因に関するより具体的な情報を見つけることができます。(タイプ BuildProcessTerminateException)

例外スタック トレース: System.Activities.Statements.Throw.Execute (CodeActivityContext コンテキスト) で

System.Activities.CodeActivity.InternalExecute (ActivityInstance インスタンス、ActivityExecutor エグゼキューター、BookmarkManager ブックマーク マネージャー) で

System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody (ActivityExecutor エグゼキューター、BookmarkManager ブックマーク マネージャー、場所 resultLocation) で

エラーがキャッチされた場所、ログファイルのさらに上を見ることができますが、同様に情報がありません。

例外処理

CompilationStatus を Failed に設定する

プロパティの初期値

...

最終的なプロパティ値

...

また、このセクションの前に問題の兆候はありません。

より良い例外メッセージをビルド ログに記録する方法はありますか?

4

2 に答える 2

4

まともなエラー メッセージがないので、ビルド サーバーにログインし、Visual Studio で手動でビルドを実行しました。

私の具体的な問題は、フェイクが Visual Studio 2012 Ultimate でのみ利用可能であり、ビルド サーバーにはプレミアムしかないことでした。

于 2012-11-10T16:31:44.847 に答える
1

Microsoft Fakes を使用していた 2 つのソリューションで同じ問題に遭遇しましたが、私の場合、ビルド サーバーに VS2012 Ultimate (Update 3) がありました。

私のチームの誰かが FakesAssemblies フォルダーを TFS にチェックインしていました。ビルド サーバーの FakesAssemblies フォルダーの名前を FakesAssemblies2 に変更し、出力のみを消去するようにビルドを設定すると、ビルドは新しい FakesAssemblies フォルダーを作成し、ファイルを作成することができました。

FakesAssemblies2 フォルダー (最初に TFS にチェックインされたフォルダー) を見ると、すべてのファイルが読み取り専用としてマークされています。読み取り専用フラグが原因で、ビルドにこれらのファイルの上書きに関する問題があると思います。

于 2013-08-12T15:52:01.710 に答える