并非所有命名空间都包含在Sandcastle构建文档中
我有一个C#项目,在一个解决方案中有两个名称空间。 我已经记录了两个命名空间中的所有类/函数/成员/等。 由于该项目是一个小型研究项目,因此命名空间是DocTestLibrary
和DocTestLibrary.Events
。 但是,当我尝试通过Sandcastle从中创建文档时,它只会为DocTestLibrary
命名空间创建文档。 我是否需要在Sandcastle中进行任何设置才能使其工作? 我对此表示怀疑,因为我已经仔细研究了大部分内容。
奇怪的是,Doxygen能够很好地生成文档。
为了提供更多信息,我检查了Sandcastle为构建生成的日志。 看来这个条目导致其余的不显示。
Warn: ResolveReferenceLinksComponent2: Unknown reference link target 'T:DocTestLibrary.Events.DemoEvent'.
我还发现了别的东西。
DocTestLibrary
命名空间由两个类组成:
- 识别TestClass
- StaticHelper
顾名思义,StaticHelper是一个只有静态方法的辅助类。 然而,Sandcastle也否认要处理这个文件。 只有TestClass得到了处理。 只是让我感到震惊的是,日志中没有关于此的条目。
在我的sandcastle项目中,它总是只包含一个总共5个的命名空间。问题是我没有在帮助文件部分下检查包含根命名空间容器 。
现在我的所有命名空间都列在根命名空间之下。
DocTestLibrary.Events
所有类型DocTestLibrary.Events
内部的吗? 默认情况下,我认为Sandcastle只生成公共类型的文档。
似乎通过在Sandcastle项目的Visibility
属性部分中设置DocumentInternals
来解决此问题。 我想知道为什么会这样,因为没有代码被声明为内部…
我想我会玩更多……
我发现可以通过手动设置要在“项目属性” – >“可见性”下的“编辑APIfilter”中记录的类来修复此问题。