我正在使用 SandcaSTLe 帮助文件生成器为 SDK 创建精美的文档。为了支持 Visual Studio 的 F1 功能,其中一个输出采用 MS 帮助查看器格式。问题是当我们将包安装到 Help Viewer 1.0 (Visual Studio 2010) 或 Help Viewer 2.0 (Visual Studio 2012) 中时,文档没有放入根容器中。

图像中显示的“API 引用”节点是类库本身的容器。虽然我们可以重命名这个节点,但这样做不会为我们留下任何位置来包含除类库引用之外的概念性内容。将此与 .NET Framework 4 帮助中等效节点的位置进行比较。

问题:为了与其他文档保持一致,我们如何让 SandcaSTLe 帮助文件生成器在我们项目的用户指定的顶级容器中生成 MS 帮助查看器输出,当前的“API 引用”类库文档是其子库节点?

最佳答案

根节点实际上被指定为一个概念内容文档。

  • 确保文档项目有一个内容布局文档。
  • 使用概念模板在文档项目中创建一个名为 MSHelpViewerRoot.aml 的新概念内容文档。内容可能如下所示(将 [Guid] 替换为生成的 GUID,将 [My Topic] 替换为您的内容主题):
    <?xml version="1.0" encoding="utf-8"?>
    <topic id="[Guid]" revisionNumber="1">
      <developerConceptualDocument
          xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"
          xmlns:xlink="http://www.w3.org/1999/xlink">
    
        <introduction>
          <para>Welcome to the [My Topic] Reference</para>
        </introduction>
    
        <section>
          <content>
            <para>Select a topic from the table of contents.</para>
          </content>
        </section>
    
        <relatedTopics/>
      </developerConceptualDocument>
    </topic>
    
  • MSHelpViewerRoot.aml 概念性内容添加到 Content Layout 文档中。
  • Topic Properties 下,指定 [My Topic] SDK 作为 标题
  • Topic Properties 下,勾选 Use as MS Help Viewer root container
  • 索引关键字 下,添加一个条目,包含 索引 K Term(s) [My Topic] SDK

  • 生成的配置可能类似于以下内容:

    最后要注意的是,除了根节点之外,您可能还需要执行以下操作:
  • 创建 Welcome.aml 概念性内容文档
  • <relatedTopics>
  • MSHelpViewerRoot.aml 元素中添加Welcome 文档的链接
  • Welcome.aml 设置为 用作内容布局设置中的默认主题 元素
  • 添加 License.aml 概念内容文档
  • 关于documentation - 为 SandcaSTLe MS 帮助查看器输出指定根容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18187728/

    10-15 18:05