2012-01-02 190 views
1

私は、サンドキャッスル+サンドキャッスルヘルプファイルビルダー(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は別のコンピュータですが、それはビルドには関係ありません。

+0

"ビルドはTeamCityの外で動作するので、SandcastleはTeamCityがonvolvedのときにのみそのファイルを探していると結論づけます。"これはTeam Cityが使用しているのと同じマシン上で動作することを意味していますか? –

+0

@Sayed - はい、申し訳ありませんが、私はそれを言及すべきでした。 TeamCityビルドエージェントは、手動ビルドが正しく動作するコンピュータと同じです。これを反映するように質問を更新します。 –

+0

それは面白いです。コマンドラインでmsbuild.exeを呼び出すと、/ flを渡してログを作成できますが、TCログに対してそのログを調べて、何が起きているのかを確認する必要があります。あなたがそれを把握していないなら、私はログを私に送ることができ、私は見ることができます。ちょうど私をpingして、twitter SayedIhashimi。 –

答えて

5

今日は同じ問題が発生しましたが、結局それを解決できました。%USERPROFILE%\AppData\Local\EWSoftware\Sandcastle Help File Builder\Cacheフォルダのキャッシュファイルを削除するだけで済みます。

(注意:あなたの問題はチームシティーに関連しているので、おそらくファイルは代わりにチームシティーのデータフォルダにある)

私の場合、私は、キャッシュファイルがSHFBの古いバージョンで生成されていたので、それはだと思います新しいバージョンと互換性がありませんでした。

+0

私のTeamCityビルドエージェントはLocalSystemとして実行されますが、どこでもEWSoftwareフォルダを見つけることができません。私はLocalSystemユーザーのAppDataフォルダがどこにあるのだろうか? –

+0

@TimLong、Win7ではLocalSystemのユーザプロファイルは 'C:\ Windows \ system32 \ config \ systemprofile'にあります。 XPでは 'C:\ Documents and Settings \ LocalService'にあります。 –

+0

すべてのヘルプトーマスありがとう。ケースが閉まった。 –

関連する問題