构建Visual Studio项目时构建Sandcastle文档

时间:2011-10-24 22:33:41

标签: c# visual-studio sandcastle xml-documentation

我正在使用Sandcastle帮助文件生成器将我的C#XML-DOC文件输出为网站格式。如何从命令行完成相同的操作,以便在构建实际项目时可以在Visual Studio中将其添加为构建事件?

最终目标是在构建Visual Studio项目时构建网站帮助文件内容。

4 个答案:

答案 0 :(得分:9)

正如Scott Wylie指出的那样,您需要在Visual Studio的项目属性中的post build事件命令行中指定它。但是,我建议直接使用Sandcastle Help File Builder(SHFB)而不是Sandcastle。它使命令行调用简短而简单,如下所示,但请注意,首先必须使用SHFB GUI配置SHFB项目,该GUI创建一个带有“.shfbproj”后缀的msbuild兼容的构建文件:

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
        /p:Configuration=Release myProject.shfbproj

但是,请注意我从你正在做的事情采取相反的方法:我使用ant(nant)来启动所有内容的构建,包括我的Visual Studio,而不是使用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按需运行的灵活性。

答案 1 :(得分:1)

您可以在项目属性的Build Events部分中的post build事件命令行中调用SandCastle。如果您不使用任何自动构建工具,这应该可以很好地工作。

答案 2 :(得分:0)

如果您使用MSBuild作为构建工具,那么我使用的是tutorial

codeplex上还有一个脚本供您查看,可以帮助您解决问题。

希望这有帮助!

答案 3 :(得分:0)

我发现将* .shfbproj项目添加到解决方案中最简单。它在VS 2010中构建得很好(虽然有点慢)。