【问题标题】:How to configure TFS2010 Build server to generate help using SHFB如何配置 TFS2010 构建服务器以使用 SHFB 生成帮助
【发布时间】:2011-12-14 15:20:00
【问题描述】:

我在谷歌上搜索了很多试图找到解决方案,但似乎我遗漏了一些东西。

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

SHFB 的 official documentation 只是说:

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

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

有人可以帮我解释一下我可以如何配置我们的 TFS 构建服务器以同时使用 Sandcastle Helpfile Builder 生成文档吗?

【问题讨论】:

    标签: tfsbuild sandcastle shfb


    【解决方案1】:

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

    【讨论】:

    • 工作,只要确保你的 TFS 安装了 SHFB。
    【解决方案2】:

    你是对的。 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

    【讨论】:

      【解决方案3】:

      首先,我希望您谈论的是 TFS2010,否则此答案超出范围。

      我们已自定义构建过程模板,并按以下顺序额外调用 MSBuild:

      参数如下所示:

      为了让所有功能正常运行,我们添加了另一个名为 SandcastleProject 的参数,我们在构建定义中提供了 .shfbproj 文件的源代码控制路径($/.../.shfbproj)。

      就在此序列爆发之前,我们使用活动ConvertWorkspaceItem 将此路径转换为本地路径,该活动使用本地条目填充名为localSandcastleProject 的变量:

      @ 987654323@

      【讨论】:

        【解决方案4】:

        我最近写了一篇关于它的博客文章: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"
        

        祝你好运。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-17
          • 1970-01-01
          • 2012-12-29
          相关资源
          最近更新 更多