gpt4 book ai didi

.net - SHFB 的 IntelliSenseComponent 的输出文件夹应用了哪些规则?

转载 作者:行者123 更新时间:2023-12-03 06:53:30 24 4
gpt4 key购买 nike

Noda Time有一个 issue相反,它附带的 XML 文档文件也包含所有内部和私有(private)成员 - 这是一个耻辱。

幸运的是,Sandcastle Help File Builder有一个自定义构建组件 - IntelliSenseComponent - 从理论上讲,它确实做了正确的事情。不幸的是,我不知道如何正确配置它。

文档给出了这个例子:

 <output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}" />

并指出:

The example given above is taken from the Sandcastle Help File Builder's configuration file. When used with it, the replacement tags {@SHFBFolder} and {@OutputFolder} are used to insert the help file builder's folder and the project's output folder in the file paths. These are replaced at build time with the appropriate values. If using the component in your own build scripts, replace the tags with a relative or absolute path to the component assembly and output folder respectively.

嗯,我正在使用 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"

...但我真的不想要绝对路径名。

文档表明所有这些都应该非常简单......我错过了什么?

涉及版本:

  • SHFB:1.9.3.0
  • SandcaSTLe :2.6.10621.1

最佳答案

我的实验表明,SHFB 的 IntelliSenseComponent 确实正确处理 {@OutputFolder},但存在细微差别。

如果 folder 属性指定于

<output includeNamespaces="false" namespacesFile="Namespaces"
folder="..." />

指向项目的 OutputPath 文件夹中的文件夹(在您的情况下为 .\docs\api),然后 SHFB 的构建过程会创建该文件夹,但在生成网站内容之前将其删除:

Last step completed in 00:00:34.5875
-------------------------------
Combining conceptual and API intermediate TOC files...

Clearing any prior web output
Last step completed in 00:00:00.2360
-------------------------------
Extracting HTML info for HTML Help 1 and/or website...

问题是 {@OutputFolder} 的默认值与 $(OutputPath) 的值完全相同,因此如果您输入类似 {@OutputFolder}\foofolder 属性中,那么在构建完成后你将永远不会看到 foo

解决方案很简单:指定一个位于项目输出文件夹外部的文件夹,如下所示:

<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}\..\distilledApi" />
<!-- ^^ -->

希望这有帮助。

关于.net - SHFB 的 IntelliSenseComponent 的输出文件夹应用了哪些规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com