msbuild - 只有由TeamCity建立的 SandcaSTLe build 失败

标签 msbuild teamcity sandcastle shfb

我有一个相当大的解决方案,其中包含两个基于SandcaSTLe + SandcaSTLe帮助文件生成器(SHFB)的文档项目。这些项目既可以从命令行(msbuild project.shfb)正确构建,也可以使用beta版本的SHFB Visual Studio 2010集成来构建。

但是,当我在TeamCity中运行构建时,在文档构建中出现了神秘的构建失败。 SHFB日志中说:

[SandcaSTLe帮助文件生成器,版本1.9.3.0]
缓存的解析引用链接2组件。版权所有©2006-2011,Eric Woodruff,保留所有权利
http://SHFB.CodePlex.com
信息:CachedResolveReferenceLinksComponent:加载了61个缓存的MSDN URL条目
信息:SaveComponent:实例化组件。
信息:BuildAssembler:构建主题N:MyProject
信息:BuildAssembler:构建主题T:MyProject.ActionNotImplementedException
信息:BuildAssembler:构建主题AllMembers.T:MyProject.ActionNotImplementedException
信息:BuildAssembler:构建主题Methods.T:MyProject.ActionNotImplementedException
信息:BuildAssembler:构建主题Properties.T:MyProject.ActionNotImplementedException
信息:BuildAssembler:构建主题重载:MyProject.ActionNotImplementedException。#ctor
信息:BuildAssembler:构建主题M:MyProject.ActionNotImplementedException。#ctor
信息:BuildAssembler:构建主题M:MyProject.ActionNotImplementedException。#ctor(System.String)
BUILDASSEMBLER:错误:CachedCopyFromIndexComponent:尝试加载文件“C:\Program Files(x86)\SandcaSTLe\Data\Reflection\mscorlib.xml”时发生访问错误。错误消息是:找不到文件'C:\Program Files(x86)\SandcaSTLe\Data\Reflection\mscorlib.xml'。 [C:\BuildAgent\work\37c2302839b8996f\Help\Output\Developer\Working\BuildReferenceTopics.proj]
最后一步在00:02:31.3827完成



SHFB:错误BE0043:在上一个构建步骤中检测到意外错误。有关详细信息,请参见上面的输出。




果然,SandcaSTLe正在寻找的文件(mscorlib.xml)不存在。但是该构建工作在TeamCity之外进行,因此我可以得出结论,仅在TeamCity启用时,SandcaSTLe才在寻找该文件。那么,为什么这只会导致TeamCity发生故障,而不导致msbuild中的命令行发生故障?我会很感激任何故障排除提示,因为我没有灵感。

澄清(感谢@Sayed):TeamCity构建代理是可以成功运行命令行构建的同一台计算机,因此对于上述所有操作,它都是同一台计算机。 TeamCity Server是另一台计算机,但是不参与构建。

最佳答案

今天,我遇到了同样的问题,我最终设法解决了这个问题:您只需要删除%USERPROFILE%\AppData\Local\EWSoftware\Sandcastle Help File Builder\Cache文件夹中的缓存文件即可。

(注意:由于您的问题与TeamCity有关,因此文件可能位于TeamCity数据文件夹中)

就我而言,这是因为缓存文件是使用较旧版本的SHFB生成的,并且与新版本不兼容。

关于msbuild - 只有由TeamCity建立的 SandcaSTLe build 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703642/

相关文章:

delphi - 如何从 Delphi 执行 MSBuild?

visual-studio - 仅当工具支持时,如何有条件地构建 .Net Core 3.0?

c# - 对部分类/方法的 XML 注释

c# - 如何在Sand CaSTLe/MAML的代码示例中为类名称着色

TeamCity:给非注册用户的电子邮件通知

c# - SandcaSTLe 没有记录属性摘要

jenkins - 让 Jenkins 了解自定义 NuGet 包源

powershell - Powershell调用带嵌套引号的msbuild

tfs - 针对 TFSPreview.com 使用 TeamCity。有成功吗?

teamcity - 在 64 位 TeamCity 代理上运行的 OpenCover