我正在记录一个C#项目,它由一个包含8个接口,类和枚举的命名空间构建。
我正在使用沙堡的最新版本(2015年7月)。 由于所有接口,类和枚举都在相同的命名空间下,因此使用sandcastle结果我得到的所有父节点都在同一个API内,这不是我想要的。 相反,我希望所有接口都在一个父节点下,所有类在另一个父节点下,所有枚举在另一个父节点下。另外(如果可能的话)我希望每个API父节点都有一个概念性的兄弟节点来描述概念。
有可能吗?如果没有,你能提出其他解决方案吗? 请注意,我无法添加名称空间。
使用sandcastle - 是否可以使用一些内容布局,每个界面一个? (不确定是否可以为命名空间使用多个内容布局。)
由于
答案 0 :(得分:1)
我找到了解决这个问题的方法,并决定分享,以防它对任何人都有用。
Sandcastle不支持将API文档分解为几个节点。因此我找到的解决方法是使用HTML Workshop Manager根据需要重新排列HTML。只需在HTML Workshop管理器中创建一个项目,并将其设置为使用Sandcastle生成的HTML。注意Sandcastle HTML文件名只是数字,因此需要根据html内容以某种方式重命名它。
HTML Workshop Manager具有命令行界面,因此可以自动完成从Sandcastle的htmls创建CHM的整个过程。为此,您需要在HTML Workshop管理器中预先创建一个项目,并编写代码以更新其内容表(.hhc文件)和索引文件(.hhk),以便他们使用Sandcastle的HTML。我建议使用HTML Agility包,因为.hhc和.hhk文件是htmls。
评论将会受到欢迎。