.Net项目上的命名空间文档(Sandcastle)?

我前段时间开始使用Sandcastle来为我们的一个项目生成文档网站。 它工作的很好,但是我们总是只为我们的项目中的类,方法,属性(…)编写文档,并且已经完全分离了整个项目和项目部分/模块/名称空间的文档。 这将是很好,如果我可以将文档合并在一起,并将相应的文档添加到生成的帮助文件,但我不知道如何做到这一点。

只是将注释添加到名称空间声明似乎不起作用(C#):

/// <summary> /// My short namespace description /// </summary> namespace MyNamespace { ... } 

有谁知道如何做到这一点? 我知道这是可能的,这将是非常好的有… 🙂

Sandcastle还支持ndoc样式的命名空间文档,它允许您将文档粘贴在源文件中:

只需要在要编写文档的命名空间中创build一个名为NamespaceDoc的非公共类,并且该类的xml文档注释将用于命名空间。

用[CompilerGenerated]属性来装饰它,以防止类在文档中出现。

例:

 namespace Some.Test { /// <summary> /// The <see cref="Some.Test"/> namespace contains classes for .... /// </summary> [System.Runtime.CompilerServices.CompilerGenerated] class NamespaceDoc { } } 

SandCastle中的工作项目位于此处。

如果您使用Sandcastle帮助文件生成器 ,则会出现一个对话框来input命名空间摘要。 (显然也支持定义一个特定的类,但我不会喜欢它..)

从function列表中:

定义将显示在帮助文件中的项目摘要和命名空间摘要注释。 您也可以很容易地指出哪些名称空间包含或从帮助文件中排除。 还包括通过每个名称空间内的NamespaceDoc类指定名称空间注释的支持。

使用Sandcastle帮助文件生成器 。 它允许在XML项目文件中指定名称空间描述

例:

 <namespaceSummaryItem name="System" isDocumented="True"> Generic interfaces and helper classes. </namespaceSummaryItem> 

参考文献:

  • 使用每个版本生成文档的开源项目示例 (所有脚本都在主干中)。
  • 这就是SHFB的文档在Web上的样子 (它被部署在每个强制构build中)

我知道这是一个旧post,但这可能对别人有帮助。

在此链接之后 ,您可以设置命名空间的描述,而无需向项目中添加非公共类。

要编辑名称空间摘要,请展开SHFB中的“项目属性”选项卡中的“摘要”部分。 您将看到名为“NamespaceSummaries”的设置,该设置最初显示值“(None)”。 点击设置select它,并出现一个显示省略符号(…)的button。 单击此button可显示“命名空间摘要”对话框,如下图所示:

在这里输入图像说明

你不能通过这种方式添加引用 – 通过NamespaceDoc.cs实例来完成

/// <summary> /// Concrete implementation of see cref="IInterface" using see cref="Concrete"
/// </summary> class NamespaceDoc { }

看这里