.Net项目(Sandcastle)上的命名空间文档?
时间:2020-03-06 14:57:55 来源:igfitidea点击:
不久前,我开始使用Sandcastle来为我们的一个项目生成一个文档网站。它工作得很好,但是我们始终只为项目中的类,方法,属性(...)编写文档,并为整个项目和项目部件/模块/命名空间提供完全独立的文档。如果可以将这些文档合并在一起,并将相应的文档添加到生成的帮助程序文件中,但是我不知道该怎么做,那就太好了。
只是在名称空间声明中添加注释似乎不起作用(C#):
/// <summary> /// My short namespace description /// </summary> namespace MyNamespace { ... }
有谁知道如何做到这一点?我知道这是有可能的,拥有它真的会很高兴... :)
解决方案
如果使用Sandcastle帮助文件生成器,则会出现一个对话框,用于输入命名空间摘要。 (显然也支持定义特定的类,但我不希望这样做。)
从功能列表中:
Definition of project summary and namespace summary comments that will appear in the help file. You can also easily indicate which namespaces to include or exclude from the help file. Support is also included for specifying namespace comments via a NamespaceDoc class within each namespace.
使用沙堡帮助文件生成器。它允许在XML项目文件中指定名称空间描述
例子:
<namespaceSummaryItem name="System" isDocumented="True"> Generic interfaces and helper classes. </namespaceSummaryItem>
参考:
- 每次生成时都会生成文档的开源项目示例(所有脚本都在主干中)。
- 这就是SHFB的文档在Web上的样子(在每个强制构建中都部署了它)
。
Sandcastle还支持ndoc样式的命名空间文档,该文档使我们可以将文档粘贴在源文件中:
只需在要记录的名称空间中创建一个名为NamespaceDoc的非公共类,该类的xml doc注释将用于该名称空间。
用[CompilerGenerated]属性进行装饰,以防止类本身出现在文档中。
例子:
namespace Some.Test { /// <summary> /// The <see cref="Some.Test"/> namespace contains classes for .... /// </summary> [System.Runtime.CompilerServices.CompilerGenerated] class NamespaceDoc { } }
沙堡中的工作项位于
这里。