Noda Time存在一个问题,它发布的XML文档文件包含所有的内部和私有成员,这很遗憾。
幸运的是,Sandcastle Help File Builder有一个自定义构建组件-IntelliSenseComponent
- 可以完全解决这个问题...理论上。不幸的是,我无法弄清楚如何正确配置它。
文档提供了以下示例:
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}" />
上述内容取自Sandcastle Help File Builder的配置文件,其中使用了替换标签{@SHFBFolder}和{@OutputFolder}来在文件路径中插入帮助文件生成器的文件夹以及项目输出文件夹。在构建时,这些标签会被适当的值所替换。如果在您自己的构建脚本中使用该组件,请将这些标签分别替换为组件程序集和输出文件夹的相对或绝对路径。
好的,我正在使用SHFB,所以我期望这将起作用。但是,除了绝对路径外,我什么都试过了,但都无法生效。
folder="."
folder="{@OutputFolder}"
folder="{@OutputFolder}XYZZY"
folder="{@OutputFolder}\XYZZY"
folder="{@OutputFolder}/XYZZY"
folder="{@OutputFolder}/XYZZY/"
(我只是使用XYZZY作为一个容易搜索的东西。)
查看源代码,我希望我可以使用环境变量,但这并不起作用:
folder="%CD%\XYZZY"
虽然这样做可以解决问题,但是它确实不推荐使用,因为它会绕过类型检查。
folder="%USERPROFILE%\XYZZY"
这个代码可行:
folder="c:\users\jon\test\xyzzy"
...但我真的不想在那里使用绝对路径名。
文档建议这应该非常容易...我错过了什么?
涉及的版本:
- SHFB:1.9.3.0
- Sandcastle:2.6.10621.1
folder="%CD%\XYZZY"
不起作用,因为Environment.ExpandEnvironmentVariables
不会扩展%CD%
,而IntelliSenseComponent使用它。我相信只有cmd.exe
可以扩展它(就像%TIME%
,%CMDCMDLINE%
等)。 - Igor Korkhov