【发布时间】:2011-10-24 22:33:40
【问题描述】:
我正在使用 Sandcastle 帮助文件生成器将我的 C# XML-DOC 文件输出为网站格式。如何从命令行完成相同的操作,以便在构建实际项目时将其添加为 Visual Studio 中的构建事件?
最终目标是在我构建 Visual Studio 项目时构建网站帮助文件内容。
【问题讨论】:
标签: c# visual-studio sandcastle xml-documentation
我正在使用 Sandcastle 帮助文件生成器将我的 C# XML-DOC 文件输出为网站格式。如何从命令行完成相同的操作,以便在构建实际项目时将其添加为 Visual Studio 中的构建事件?
最终目标是在我构建 Visual Studio 项目时构建网站帮助文件内容。
【问题讨论】:
标签: c# visual-studio sandcastle xml-documentation
正如 Scott Wylie 所指出的,您需要在 Visual Studio 的项目属性中的构建后事件命令行中指定这一点。但是,我建议直接使用Sandcastle Help File Builder (SHFB) 而不是 Sandcastle。它使命令行调用简短而简单,如下所示,但请注意,首先您必须使用 SHFB GUI 配置 SHFB 项目,这会创建一个带有“.shfbproj”后缀的 msbuild 兼容构建文件:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /p:Configuration=发布 myProject.shfbproj但是,请注意,我采用与您正在做的相反的方法:我没有使用 Visual Studio 以交互方式启动构建和辅助操作,而是使用 ant (nant) 启动所有内容的构建,其中包括我的 Visual Studio解决方案和随后的 SHFB 行动。所以这实际上是我使用 Sandcastle 构建文档的命令行调用:
<exec executable="${msbuild}" dir="${csharpdoc}" output="${csharpdoc.log}">
<arg value="/p:Configuration=Release"/>
<arg value="myProject.shfbproj"/>
</exec>
我的偏好是整个构建应该可以从命令行启动,因此不需要交互(例如启动 Visual Studio 等)。这提供了灵活性,既可以作为计划的重复任务运行,也可以从 shell 按需运行。
【讨论】:
您可以在项目属性的“构建事件”部分中从构建后事件命令行调用 SandCastle。如果您不使用任何自动构建工具,这应该可以很好地工作。
【讨论】:
我发现将 *.shfbproj 项目添加到解决方案中最简单。它在 VS 2010 中构建良好(虽然有点慢)。
【讨论】: