私は、サンドキャッスル+サンドキャッスルヘルプファイルビルダー(SHFB)に基づいた2つのドキュメントプロジェクトを含む比較的大きなソリューションを持っています。これらのプロジェクトは、コマンドライン(msbuild project.shfb
)から正しくビルドされ、SHFB Visual Studio 2010統合のベータ版も使用しています。Teamcastでビルドされたときだけ不思議なサンドキャッスルビルド
TeamCityでビルドを実行すると、ドキュメントビルドで不思議なビルドエラーが発生します。案の定
[Sandcastle Help File Builder, version 1.9.3.0] Cached Resolve Reference Links 2 Component. Copyright © 2006-2011, Eric Woodruff, All Rights Reserved http://SHFB.CodePlex.com Info: CachedResolveReferenceLinksComponent: Loaded 61 cached MSDN URL entries Info: SaveComponent: Instantiating component. Info: BuildAssembler: Building topic N:MyProject Info: BuildAssembler: Building topic T:MyProject.ActionNotImplementedException Info: BuildAssembler: Building topic AllMembers.T:MyProject.ActionNotImplementedException Info: BuildAssembler: Building topic Methods.T:MyProject.ActionNotImplementedException Info: BuildAssembler: Building topic Properties.T:MyProject.ActionNotImplementedException Info: BuildAssembler: Building topic Overload:MyProject.ActionNotImplementedException.#ctor Info: BuildAssembler: Building topic M:MyProject.ActionNotImplementedException.#ctor Info: BuildAssembler: Building topic M:MyProject.ActionNotImplementedException.#ctor(System.String) BUILDASSEMBLER : error : CachedCopyFromIndexComponent: An access error occured while attempting to load the file 'C:\Program Files (x86)\Sandcastle\Data\Reflection\mscorlib.xml'. The error message is: Could not find file 'C:\Program Files (x86)\Sandcastle\Data\Reflection\mscorlib.xml'. [C:\BuildAgent\work\37c2302839b8996f\Help\Output\Developer\Working\BuildReferenceTopics.proj] Last step completed in 00:02:31.3827 </buildStep> <buildStep step="Failed"> SHFB: Error BE0043: Unexpected error detected in last build step. See output above for details. </buildStep> </shfbBuild>
、サンドキャッスルは、(mscorlib.xml)を探しているファイルが存在しない:SHFBログには、これは言います。しかし、ビルドはTeamCityの外で動作するので、私はSandcastleがであり、TeamCityがonvolvedのときにそのファイルのファイルがとなっていると結論づけます。だから、なぜこれがTeamCityで失敗し、msbuild内のコマンドラインで失敗しないのでしょうか?私はインスピレーションから外れているので、トラブルシューティングのヒントに感謝します。
明確化(Thanks @ Sayed):TeamCityビルドエージェントは、私がsuccessfulylコマンドラインビルドを実行できる同じコンピュータです。したがって、上記のすべてのものと同じコンピュータです。 TeamCity Serverは別のコンピュータですが、それはビルドには関係ありません。
"ビルドはTeamCityの外で動作するので、SandcastleはTeamCityがonvolvedのときにのみそのファイルを探していると結論づけます。"これはTeam Cityが使用しているのと同じマシン上で動作することを意味していますか? –
@Sayed - はい、申し訳ありませんが、私はそれを言及すべきでした。 TeamCityビルドエージェントは、手動ビルドが正しく動作するコンピュータと同じです。これを反映するように質問を更新します。 –
それは面白いです。コマンドラインでmsbuild.exeを呼び出すと、/ flを渡してログを作成できますが、TCログに対してそのログを調べて、何が起きているのかを確認する必要があります。あなたがそれを把握していないなら、私はログを私に送ることができ、私は見ることができます。ちょうど私をpingして、twitter SayedIhashimi。 –