3

我正在使用 Sandcastle Help File Builder 为 SDK 创建精美的文档。为了支持 Visual Studio 的F1功能,输出之一是 MS Help Viewer 格式。问题是当我们将包安装到 Help Viewer 1.0 (Visual Studio 2010) 或 Help Viewer 2.0 (Visual Studio 2012) 中时,文档没有放入根容器中。

当前帮助查看器结果

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

参考帮助查看器主题

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

4

1 回答 1

3

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

  1. 确保文档项目具有内容布局文档。
  2. 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>
    
  3. MSHelpViewerRoot.aml概念内容添加到内容布局文档。

    • 主题属性下,指定[My Topic] SDK标题
    • Topic Properties下,选中Use as MS Help Viewer root container复选框
    • Index Keywords下,添加一个带有Index KTerm(s)的条目 [My Topic] SDK

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

内容布局配置

最后一点,除了根节点之外,您可能还需要执行以下操作:

  1. 创建Welcome.aml概念性内容文档
    • <relatedTopics>在元素中添加一个指向 Welcome 文档的链接MSHelpViewerRoot.aml
    • 在内容布局设置中设置Welcome.aml用作默认主题元素
  2. 添加License.aml概念性内容文档
于 2013-08-12T13:36:34.710 回答