7

我用谷歌搜索了很多试图找到解决方案,但似乎我错过了一些东西。

大多数文章告诉我应该修改构建文件 ( TfsBuild.proj)。但我无法在任何地方找到该文件。谷歌搜索更多告诉我它已被 TFS2010 中的新构建模型取代?

SHFB的官方文档只是说:

修改你的构建文件。此示例使用每日构建来生成文档:

它没有提到什么文件以及如何。

有人可以对我如何配置我们的 TFS 构建服务器以也使用 Sandcastle Helpfile Builder 生成文档有所帮助吗?

4

4 回答 4

4

最简单的方法是在构建配置中包含 SHFB 项目文件。SHFB 项目文件与 Visual Studio 中的任何项目文件一样工作。

于 2011-12-21T10:55:22.527 回答
3

你是对的。Team Build 2010 基于 Workflow Foundation,为了实现这一点,您需要创建自定义构建过程模板。

即使核心项目已被弃用,您也可以在此处找到所需的内容:http: //tfs2010extendedbuild.codeplex.com/

可以在此处找到有关如何自定义构建过程模板的信息: http ://rabcg.codeplex.com/

如果您喜欢书籍,这太棒了: http ://www.amazon.com/Inside-Microsoft-Build-Engine-Foundation/dp/0735645248/ref=ntt_at_ep_dpt_1

于 2011-12-14T15:33:46.743 回答
2

起初,我希望你在谈论 TFS2010,否则这个答案超出了范围。

我们已经定制了我们的构建过程模板,并按以下顺序对 MSBuild 进行了额外调用:

在此处输入图像描述

参数如下所示:

在此处输入图像描述

为了让所有功能正常运行,我们添加了另一个名为 的参数,我们在构建定义中提供了.shfbproj 文件 ($/.../ .shfbproj)SandcastleProject的源代码控制路径。就在这个序列爆发之前,我们使用 activity 将此路径转换为本地路径,它填充一个以本地条目命名的变量:

ConvertWorkspaceItemlocalSandcastleProject

在此处输入图像描述

于 2011-12-14T15:50:23.043 回答
1

我最近写了一篇关于它的博客文章:http ://www.22bugs.co/post/sandcastle-help-file-builder-tfs-build/ 。以下是所需的步骤:

1. 在您的构建服务器上下载并安装 SHFB

从 [ https://github.com/EWSoftware/SHFB][shfb]获取最新版本并将其安装在您的构建服务器上。安装完成后可能需要重新启动。

2.定义放置位置(可选)

通过添加以下内容来编辑您的 **.shfbproj* 文件:

<!-- Put this code under inside <Project><PropertyGroup>...</PropertyGroup></Project> -->
<OutDir Condition=" '$(OutDir)' == ''">.</OutDir>
<OutputPath>$(OutDir)\Help</OutputPath>

这将指示 TFS 将 SHFB 的输出复制到构建的放置文件夹。

3.定义部署位置(可选)

如果在每次成功构建后您希望将输出自动部署到另一个位置(除了放置文件夹),您可以定义以下构建后任务:

if NOT "$(DeployDocsTo)" == "" (
  powershell "\"$(DeployDocsTo)\" -split \";\" | foreach { Copy-Item \"$(OutputPath)\" \"$_\" -Force -Recurse }"
)

现在您可以定义 MSBuild 参数$(DeployDocsTo)来指示 TFS 在哪里部署您的文档。例如将其设置为

/p:DeployDocsTo="\\app-server\c$\docs"

祝你好运。

于 2015-04-25T08:59:10.067 回答