나는 다소 큰 솔루션을 가지고 있습니다.이 솔루션에는 Sandcastle + Sandcastle Help File Builder (SHFB) 기반의 두 가지 문서 프로젝트가 있습니다. 이 프로젝트는 모두 명령 줄 (msbuild project.shfb
)에서 올바르게 빌드되며 베타 버전의 SHFB Visual Studio 2010 통합을 사용합니다.Teamcast에서 빌드했을 때만 신비하게 실패한 sandcastle 빌드
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 외부에서 작동하므로 Teamcast가 onvolved 인 경우 Sandcastle은 해당 파일에 대해 인 것으로 보입니다.입니다. 그래서, 왜 이것이 TeamCity에서만 실패하고 msbuild 내의 명령 줄에서는 실패하지 않습니까? 내가 영감을 잃어서 문제 해결에 도움이 될만한 점이 있으면 고맙겠습니다.
설명 (thanks @ Sayed) : TeamCity 빌드 에이전트는 명령 행 빌드를 successfulyl 실행할 수있는 컴퓨터와 동일하므로 위의 모든 것에 대해 동일한 컴퓨터입니다. TeamCity Server는 다른 컴퓨터이지만 빌드에는 아무런 영향을 미치지 않습니다.
"하지만 빌드는 TeamCity 외부에서 작동하므로 TeamCity가 켜져있을 때만 Sandcastle이 해당 파일을 찾고 있다고 결론을 내릴 수 있습니다." 그러면 Team City가 사용하는 것과 동일한 컴퓨터에서 작동한다는 의미입니까? –
@Sayed - 네, 미안 해요. TeamCity 빌드 에이전트는 수동 빌드가 올바르게 작동하는 컴퓨터와 동일합니다. 이를 반영하기 위해 질문을 업데이트 할 것입니다. –
그게 재미있어. 명령 줄에서 msbuild.exe를 호출 할 때/fl을 사용하여 로그를 만들 수 있으면 TC 로그와 대조하여 다른 것을 확인해야합니다. 당신이 그것을 이해하지 못한다면 나에게 로그를 보내고 나는 볼 수있다. 트위터 SayedIhashimi에서 저를 핑 (ping)하십시오. –