我从事一个使用非托管可视化 C++ 和少量 C# 的项目。我们正在尝试想出一种方法来记录我们的项目,包括 API 参考以及一些额外的概念文档。理想情况下,所有文档都放在一个 .chm 文件中,我们可以将其与我们的产品一起分发。
作为一名长期的 C++ 开发人员,我已经熟悉 Doxygen。有人建议我也研究一下 Sandcastle,但我遇到了一些障碍。
从许多其他来源,包括本网站上的其他帖子,众所周知,sandcastle 不支持非托管 C++。我确实找到了一篇似乎表明您仍然可以通过将 API 参考添加为概念主题来将 C++ 文档塞进沙堡的帖子。
使用 Visual Studio 2010,您可以在非托管 C++ 项目的项目设置中打开 /doc 选项。这会生成 .XDC 文件,然后 Studio 会将其编译为与您的 lib/dll/exe 一起使用的 .xml 文件。我被卡住的地方是不清楚你可以用这个 xml 文件做什么。我在网上找到的一些页面建议您可以将此文件用于智能感知,但我从未见过在非托管 C++ 中使用该文件。我希望我能够以某种方式在 Sandcastle Help File Builder 中使用这个 .xml 文件,但是我找不到任何关于如何在线完成的示例,而且我对 SHFB 所做的每一次尝试都失败了。如果我想添加现有的概念帮助文件,它似乎只需要 MAML 或 HTML 文件。
所以我的问题:
- 有没有办法让我的 /doc 生成的 .xml 文件进入我的 SHFB 帮助解决方案?
- 如果不是,非托管 C++ 的 /doc 选项有什么意义?
- 是否可以对我的 /doc 生成的 .xml 文件进行某种转换以生成 HTML 或 MAML,然后我可以通过 SHFB 导入这些文件?
这可以工作,还是我应该回到 Doxygen?