Noda Time对它有一个issue,它所传递的documentation文件也包含所有内部和私有成员--这是一个耻辱。
幸运的是,Sandcastle Help File Builder有一个定制的构建组件-- IntelliSenseComponent --它做正确的事情.理论上。不幸的是,我无法解决如何正确配置它。
文档给出了这个例子:
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}" />并指出:
上面给出的示例取自Sandcastle的配置文件。当与它一起使用时,替换标记{@SHFBFolder}和{@OutputFolder}用于在文件路径中插入帮助文件生成器文件夹和项目的输出文件夹。这些值在构建时用适当的值替换。如果在自己的构建脚本中使用组件,则分别用组件程序集和输出文件夹的相对路径或绝对路径替换标记。
嗯,我在用SHFB,所以我希望它能起作用。然而,除了一条绝对的工作道路之外,我什么也找不到。我试过:
folder="."
folder="{@OutputFolder}"
folder="{@OutputFolder}XYZZY"
folder="{@OutputFolder}\XYZZY"
folder="{@OutputFolder}/XYZZY"
folder="{@OutputFolder}/XYZZY/"(我只是使用XYZZY作为易于搜索的东西。)
查看source code,我希望我可以使用一个环境变量,但这是行不通的:
folder="%CD%\XYZZY"虽然这确实..。
folder="%USERPROFILE%\XYZZY"这样做是可行的:
folder="c:\users\jon\test\xyzzy"..。但我真的不想要一个绝对的路名。
文件表明所有这些都应该很简单.我遗漏了什么?
涉及的版本:
1.9.3.0
发布于 2012-02-17 13:26:51
我的实验表明,SHFB的IntelliSenseComponent确实正确地对待了{@OutputFolder},但也存在一些细微差别。
中指定的folder属性
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="..." />指向项目OutputPath文件夹中的一个文件夹(在您的示例中为.\docs\api),然后SHFB的构建过程创建该文件夹,但在生成网站内容之前删除该文件夹:
最后一步完成于00:00:34.5875清除在00:00完成的最后一步:00.2360
问题是,{@OutputFolder}的默认值与$(OutputPath)的值完全相同,因此,如果在folder属性中放置类似{@OutputFolder}\foo的内容,那么在构建完成后将永远看不到foo。
解决方案很简单:指定位于项目输出文件夹之外的文件夹,如下所示:
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}\..\distilledApi" />
<!-- ^^ -->希望这能有所帮助。
https://stackoverflow.com/questions/9301437
复制相似问题