通过Visual Studio中的构建步骤,我需要采取哪些步骤来自动构建HTML文档?我已经准备好所有注释并生成了comments.xml文件,并安装了Sandcastle.我只需要知道要在构建后步骤中添加什么以生成文档.
自从提出这个问题以来,已经做了一些改变.沙堡不再包括SandcastleBuilderConsole.exe
.相反,它使用普通的旧MSBuild.exe
.
我将这个与视觉工作室整合在一起是我做的:
将其放在Post-build活动中:
IF "$(ConfigurationName)"=="Release" Goto Exit "$(SystemRoot)\microsoft.net\framework64\v4.0.30319\msbuild.exe" /p:CleanIntermediates=True /p:Configuration=Release "$(SolutionDir)ProjectName\doc\DocumentationProjectName.shfbproj" :Exit
只有当您以"发布"模式构建时,这将导致visual studio构建您的文档.这样,当您在开发期间构建"调试"模式时,您不会永远等待.
几个笔记:
我的系统是64位的,如果你没有再更换framework64
用framework
的路径msbuild.exe
.
我设置它的方法是单独记录我的解决方案中的每个项目.如果您有一个"Sandcastle帮助文件生成器"项目文件,其中包含多个项目,那么您可能希望摆脱ProjectName\
并doc
进入解决方案目录.在这种情况下,您只希望将Post-build事件命令放在解决方案中最后构建的项目中.如果将它放在每个项目的Post-build事件中,那么您将为每个构建的项目重建文档.不用说,你会在那里坐一会儿.我个人更喜欢单独记录每个项目,但那只是我.
安装Sandcastle和"Sandcastle帮助文件生成器".
如果您不知道如何正确设置Sandcastle和"Sandcastle帮助文件生成器",请按照下列步骤操作:
从http://sandcastle.codeplex.com/下载并安装Sandcastle (如果您有64位系统,则需要添加一个环境变量.说明在这里.
从http://shfb.codeplex.com/下载并安装"Sandcastle帮助文件生成器" (如果有任何问题,请忽略有关MSHelp2的警告.您将不需要它.)
安装完成后,使用"Sandcastle帮助文件生成器"创建新的文档项目.当它询问您保存文件的位置时,请将其保存在解决方案/项目中的文档文件夹中. http://www.chevtek.com/Temp/NewProject.jpg
创建新项目后,您需要选择要创建的文档类型.已编译的Windows帮助文件,网站或两者. http://www.chevtek.com/Temp/DocumentationType.jpg
如果将SHFB项目文件保存在要生成文档的目录中,则可以跳过此步骤.但是,如果您希望将生成的文档放在其他位置,则需要调整输出路径. http://www.chevtek.com/Temp/OutputPath.jpg 注意:关于输出路径(让我感到沮丧一小时)要记住的一件事是,当你检查网站作为你想要的文档类型时,它将覆盖其输出路径中的内容.他们忽略了告诉你的是,SHFB故意限制某些文件夹被包含在输出路径的一部分中.桌面是一个这样的文件夹.您的输出路径不能在桌面上,甚至不能在桌面的子文件夹中.它不能通过我的文档,但它可以是我的文档的子文件夹.如果在构建文档时遇到错误,请尝试更改输出路径并查看是否可以修复它.有关详细信息,请参阅http://shfb.codeplex.com/discussions/226668?ProjectName=shfb.
最后,您需要添加对要记录的项目的引用.如果你正在做我喜欢的单个项目,那么对于你创建的每个SHFB项目文件,你将引用相应的.CSPROJ文件.如果您的整个解决方案有一个SHFB项目,那么您将找到适合您的解决方案的.SLN文件.(如果您引用已编译的DLL,sandcastle也可以工作,但由于您将它与Visual Studio集成,我发现引用项目/解决方案文件更有意义.这也可能意味着您在哪个项目中无关紧要做后期构建事件,因为它引用代码而不是DLL,但最好是安全并将它放在最后构建的项目上) http://www.chevtek.com/Temp/AddSource.jpg
保存项目,您可以关闭"Sandcastle帮助文件生成器".现在一切都安装好了.只需确保将文档项目文件放在批处理命令指向Post-build事件的相应文件夹中.
我希望我的简短教程可以帮助你!我很难找到任何体面的教程向我展示如何使用sandcastle,更不用说如何将它与visual studio集成.希望未来的谷歌搜索会出现这个问题.
我建议您从Codeplex安装Sandcastle帮助文件生成器.
您可以从命令行运行此命令,例如从Post-Build事件中运行.最简单的命令行是:
\SandcastleBuilderConsole.exe ProjectName.shfb
Sandcastle非常慢,所以我只为Release Builds运行它.为此,使用如下命令创建Post-Build事件,该命令将配置名称传递给批处理文件:
CALL "$(ProjectDir)PostBuild.cmd" $(ConfigurationName)
然后在批处理文件中,您可以测试第一个参数是否为"Release",如果是,则运行SandcastleBuilderConsole.exe.