我正在使用Sandcastle帮助文件生成器将我的C#XML-DOC文件输出为网站格式。如何从命令行完成相同的操作,以便在构建实际项目时可以在Visual Studio中将其添加为构建事件?
最终目标是在构建Visual Studio项目时构建网站帮助文件内容。
答案 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)
答案 3 :(得分:0)
我发现将* .shfbproj项目添加到解决方案中最简单。它在VS 2010中构建得很好(虽然有点慢)。