NDoc 用户指南   [回目录] NDoc 1.3

VS.NET 2003 文档引擎

[此文档为预发布版本,在未来版本中有可能改变。]

概述

VS.NET 2003 文档引擎用于创建 Microsoft Help 2 格式的代码文档。Microsoft Help 2 帮助文档格式是 Microsoft 为 .NET Framework SDK 及 Visual Studio .NET 推出的新一代帮助文档系统。.NET 开发者经常查阅的 .NET Framework SDK 类库文档及 MSDN Library for Visual Studio .NET 文档库都是以此种格式发布的。

VS.NET 2003 文档引擎作了大量的工作,使生成的代码文档能够嵌入到 Visual Studio .NET 合并文档集合,并与 Visual Studio .NET IDE 开发环境中的“动态帮助”功能紧密集成。

配置

所有文档引擎都具有一些 通用的配置项

配置 说明
ExtensibilityStylesheet 用户自定义的 NDoc 扩展 XSLT 转换文件,用于转换用户自定义的特殊标记。请参见 NDoc 可扩展性
FooterHtml 自定义的 HTML 页脚。您可以直接使用 HTML 代码,其中: "%FILE_NAME%" 将被自动替换为页面的文件名,"%TOPIC_TITLE%" 被替换为该页面的标题文字,"%ASSEMBLY_NAME%" 和 "%ASSEMBLY_VERSION%" 分别被替换为当前页面对应类型所属程序集的名称和版本信息。
HeaderHtml 自定义的 HTML 页头。您可以直接使用 HTML 代码,其中: "%FILE_NAME%" 将被自动替换为页面的文件名,"%TOPIC_TITLE%" 则被替换为该页面的标题文字。
HtmlHelpName 一个名称,用于命名 Microsoft Help 2 项目及将编译成的 *.HxS 文件。另,此名称还用于其它用途,请注意 RegisterTitleAsCollection、DocSetList 中的说明。
OutputDirectory 输出文件目录,生成的 .html 和 .Hx* 文件都将存放于此目录。
Title 此文本将显示在每个页面的左上角,一般填写类库的名称比较合适。
Microsoft Help 2 部署
RegisterTitleWithNamespace 是否在编译后自动注册此 .HxS 文档。注册时,使用 CollectionNamespace 作为命名空间,使用 Title 作为文档的 Help Title。(如果为真,必须指定 CollectionNamespace,同时 RegisterTitleAsCollection 被忽略。)

简介:

(1)Microsoft Help 2 文档可以通过 ms-help:// 开头的 URI 地址访问(比如用浏览器)。但生成的 .HxS 文档必须经过注册,才能被浏览。一般的,文档 URI 中的第一个部分,称为文档的命名空间。注册时必须指定命名空间。

(2)Microsoft Help 2 文档可以通过 Microsoft 文档资源管理器浏览和检索。管理器中每次只显示一个文档集合。每个集合都有一个根命名空间,根命名空间下可以直接是具体的文档,但也允许再嵌入多个子命名空间成为一个合并集合(这时,一般地,每个子命名空间应在管理器的树形目录中对应一个根结点。不过也允许使用 CollectionTOCStyle 让它显示为多个根结点。)。

请参见 Microsoft Help 2 部署

RegisterTitleAsCollection 是否在编译后自动注册此 .HxS 文档。注册时,使用 HtmlHelpName 作为命名空间,使用 Title 作为文档的 Help Title。

注意: RegisterTitleWithNamespace 为真时,此配置被忽略。

CollectionNamespace 要注册的 Microsoft Help 2 命名空间。请注意 URI 的规则,不要包含空格、斜线("/")、汉字等字符。和 RegisterTitleWithNamespaceGenerateCollectionFiles 配合使用,单独无实义。
CollectionTOCStyle 生成的 .HxS 文档在文档资源管理器目录树中,如何显示各个结点。
  • Hierarchical - 为整个文档做一个根结点,其他结点都隶属于它。
  • Flat - 整个文档包含多个 .NET 命名空间,每个命名空间分别对应一个根结点。
GenerateCollectionFiles 是否将生成的 .HxS 文档(其子命名空间取 CollectionNamespace)嵌入到由 PlugInNamespace 指定的根命名空间所对应的文档集合中去。(如果为真,必须指定 CollectionNamespace。)
PlugInNamespace GenerateCollectionFiles 为真,生成的 .HxS 文档将被嵌入到此项对应的文档集合中去。默认值 "ms.vscc" 将自动判断 Visual Studio .NET 2002 或 2003 合并文档集合
Microsoft Help 2 配置
LangID Microsoft Help 2 LangID 区域代码。“中文(中华人民共和国)”是 2052。
BuildSeparateIndexFile 是否使用单独的 Microsoft Help 2 索引文件(*.HxI)。如果为否,索引将编译进 HxS 文件中。
DocSetList Microsoft Help 2 每个页面头部都有一些 XML 格式的数据,称为 XML 数据岛。使用此配置可以向每个页面的 XML 数据岛写入 DocSet 值。可以以逗号分隔的形式指定多个 DocSet 值。

Microsoft Help 2 筛选器,往往根据各页面的 DocSet 值进行筛选。请阅读 VSHIK 文档获取更多细节。(在 Microsoft 文档资源管理器中,选择“帮助”菜单 - “编辑筛选器”命令,并结合 MSDN 中每页的 HTML 源代码头部的数据,仔细体会体会,应该能明白怎么用。)

注: HtmlHelpName 的值会作为一个默认的 DocSet 值写入,此处不需要重复加入它。

请参见 与 Visual Studio .NET IDE 的集成

Version 帮助文件的版本号(#.#.#.# 格式)。
CreateFullTextIndex 是否创建全文索引。
IncludeDefaultStopWordList 是否加入默认的切分词表(stop word list)。切分词是指全文检索时需要被忽略的词,如 'a', 'the' 等高频、但缺乏实义的词。
UseHelpNamespaceMappingFile Microsoft HTML 2 引入了 XLinks 允许创建基于索引关键字、查找帮助主题的超链接机制。若使用 XLinks 指向了非 .NET Framework 类库文档的链接,需要指定命名空间映射文件。请参见 指向其他文档集合的 XLinks
Microsoft Help 2 附加内容
IntroductionPage 文档集合的简介页,即此文档集合中、根结点对应的 HTML 页面。
AboutPageIconPage HTML file that displays the Help About image.
AboutPageInfo 在 Microsoft 文档资源管理器中“关于”对话框中,对此文档集合的说明(比如版权信息等)页面。
EmptyIndexTermPage “空索引项”页,在“索引”导航中,当选中了父级关键字(即拥有子级),而它本身并不指向任何文档,此时会显示此页面。如 VS.NET 2003 文档中的 ms-help://MS.VSCC.2003/vsccCommon/html/_vscc_index_entry_not_found.htm 页面。
NavFailPage “未找到主题”页,文档中出现死链接时显示的页面。如 VS.NET 2003 文档中的 ms-help://MS.VSCC.2003/vsccCommon/html/_vscc_topic_not_found.htm 页面。注意: 仅限于帮助文档内部的链接,指向 Web 的链接并不会在打开前检查是否为死链接。
AdditionalContentResourceDirectory 页面中涉及到的资源文件(如图片等)所在的目录。此目录及其子目录中的所有文件,将以原有的目录结构包含进 HTML Help 项目中,使用相对路径的超链接不需要做大的调整。

注意: 此文件夹中第一层次的文件,和 NDoc 生成的 HTML 文件,将处在同一层次上,请依次类推其他文件的相对 URL。

注: VS.NET 2003 文档引擎不支持 MSDN/MSDN 2003 文档引擎中的 FilesToInclude 配置。只能通过 AdditionalContentResourceDirectory 配置项加入附加的内容。