并非所有名称空间都包含在Sandcastle构建中以供文档使用

本文关键字:构建 文档 Sandcastle 有名称 空间 包含 | 更新日期: 2023-09-27 18:11:51

我有一个c#项目,在一个解决方案中有两个名称空间。我已经记录了两个命名空间中的所有类/函数/成员等。由于本项目是一个小型研究项目,因此命名空间为DocTestLibraryDocTestLibrary.Events。然而,当我试图通过Sandcastle创建文档时,它只会为DocTestLibrary命名空间创建文档。我需要在《Sandcastle》中设置什么设置才能让它发挥作用?但我对此表示怀疑,因为我已经浏览了大多数。

奇怪的是,氧能够生成文档很好。


为了提供更多的信息,我检查了Sandcastle为构建生成的日志。似乎这个条目导致其他条目不显示。

Warn: ResolveReferenceLinksComponent2: Unknown reference link target 'T:DocTestLibrary.Events.DemoEvent'.

我还发现了一些其他的事情。

DocTestLibrary命名空间由两个类组成:

  • TestClass
  • StaticHelper

顾名思义,StaticHelper是一个只有静态方法的helper类。然而沙堡也否认处理过这份文件。只处理TestClass get。让我感到奇怪的是,日志中没有关于这一点的条目。

并非所有名称空间都包含在Sandcastle构建中以供文档使用

在我的沙堡项目中,它总是只包含一个总共5个的名称空间。问题是,我没有检查包括根命名空间容器下的部分帮助文件

现在我所有的命名空间都列在一个根命名空间下。

是否所有类型在DocTestLibrary.Events内部的任何机会?默认情况下,我相信Sandcastle只生成公共类型的文档。

我发现这个问题可以通过在Project Properties -> Visibility下的Edit API Filter中手动设置你想要记录的类来解决。

这个问题似乎是通过在沙堡项目的Visibility属性部分设置DocumentInternals来解决的。我想知道为什么会这样,因为没有代码在内部声明…