要通过Visual Studio中的构建步骤自动构建HTML文档需要采取哪些步骤?我准备好了所有的评论和正在生成的comments.xml文件,并安装了Sandcastle。我只需要知道要在生成后步骤中添加什么才能生成文档。在使用Sandcastle构建期间自动生成html文档
回答
一些变化,因为这个问题被问。 Sandcastle不再包含SandcastleBuilderConsole.exe
。相反,它使用普通的旧版本MSBuild.exe
。
要与这里的Visual Studio集成这是我做过什么:
将此放在您生成后事件:
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位的,如果你没有再与
framework
在路径替换framework64
到msbuild.exe
。我设置它的方式是分别在我的解决方案中记录每个项目。如果您有一个包含多个项目的“Sandcastle Help File Builder”项目文件,那么您可能希望摆脱
ProjectName\
并将doc
移动到解决方案目录中。在这种情况下,您只需要将Post-build事件命令放在您的解决方案中最后构建的项目上。如果您将其置于每个项目的Post-build事件中,那么您将为每个构建的项目重建文档。不用说,你会坐在那里一段时间。我个人更喜欢单独记录每个项目,但那只是我自己。
安装Sandcastle和“Sandcastle Help File Builder”。
如果你不知道如何让沙堡和“沙堡帮助文件生成器”设置正确,然后按照下列步骤操作:
下载和安装http://sandcastle.codeplex.com/沙堡(如果你有一个64位系统,你将需要添加的环境变量。该指令是here。
下载,如果你得到任何来自http://shfb.codeplex.com/安装“沙堡帮助文件生成器”(忽略警告有关MSHelp2,你会不会需要它。 )
安装完成后,使用“Sandcastle Help File Builder”创建一个新的文档项目。当它询问您保存文件的位置时,请将其保存在解决方案/项目中的文档文件夹中。 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
保存项目,你可以关闭“沙堡帮助文件生成器“。现在全部设置完成。只要确保将文档项目文件放在批处理命令指向Post-build事件的相应文件夹中即可。
我希望我的短教程能帮助你!我很难找到任何体面的教程向我展示如何使用沙堡,更不用说如何将它与视觉工作室集成。希望未来的谷歌搜索会出现这个问题。
我建议您从Codeplex安装Sandcastle Help File Builder。
您可以从命令行运行该命令,例如,来自构建后事件。最简单的命令行是:
<install-path>\SandcastleBuilderConsole.exe ProjectName.shfb
沙堡是非常缓慢的,所以我只运行它的发布版本。要做到这一点,创建一个命令类似于下面的东西,它通过配置名称到一个批处理文件生成后事件:
CALL "$(ProjectDir)PostBuild.cmd" $(ConfigurationName)
然后里面的批处理文件可以测试,如果第一个参数是“发行“如果是这样的话,运行SandcastleBuilderConsole.exe。
我在后构建脚本中已经这样做了,我只是检查配置名称以确保它是“文档”(我有3个配置,调试,发布和文档)。 – 2008-10-17 11:03:33
更好。意味着您可以在不使用文档的情况下快速创建发布版本。 – Joe 2008-10-17 11:06:27
我必须承认,我发现目前的Sandcastle版本有点欠缺;对于大型项目来说,它非常缓慢,并且整合起来并不容易(因为它还很早)。
经常使用,其实我觉得它更容易只是在与DLL和XML文件的文件夹指向反射 - IIRC,它将加载XML文件(S)为您导航周围。
另外,我几乎总是有反射器打开无论如何...
[编辑]检查,是 - XML注释显示在反汇编面板
安装这些:
NDoc的:http://prdownloads.sourceforge.net/ndoc/NDoc-v1.3.1.msi?download
HTML Help Workshop:http://www.microsoft.com/downloads/details.aspx?FamilyID=00535334-c8a6-452f-9aa0-d597d16580cc&displaylang=en
然后使用NDocConsole.exe命令行来生成在任一或MSDN CHM形式文档:
@c:\ PROGRA〜1个\ NDoc的\ NDocConsole.exe MyCode.dll,MyCode.xml -Documenter = MSDN-CHM
我自己做了一个外部工具用于这一点,并给了它一个快捷方式,但由于以前的海报说,你可以把它挂到一个postbuild事件,你去那里。
(PS我一直在使用上面设置了好几年了,我非常喜欢它)
一个简单的方法来做到这一点上面建议使用沙堡帮助文件生成器。 已经有命令行构建过程做了一些改变,现在这些项目可以用的MSBuild而不是SandcastleBuilderConsole.exe建成。因此,所有你需要做的是:已经做出
MSbuild.exe ProjectName.shfb
- 1. 如何使用Sandcastle构建HTML文档
- 2. 在自动构建中生成文档
- 3. 使用SandCastle生成WCF文档
- 4. Sandcastle能否用最新的MSDN风格生成HTML文档?
- 5. SandCastle生成文档。从网站
- 6. StackOverflowException尝试使用SandCastle生成文档时项目引用MassTransit
- 7. 如何在sandcastle xml文档中构建不可浏览的成员构建
- 8. 如何使用Sandcastle帮助文件生成器生成没有文档源的文档?
- 9. 自动生成使用Jenkinsfile构建gradle的构建管道
- 10. 在构建期间使用NDepend生成差异报告
- 11. Sandcastle帮助文件生成器找不到文档源
- 12. 自动生成HTML
- 13. Sandcastle针对C#和Java项目的统一文档生成
- 14. 如何找出导致Sandcastle文档生成差异的原因?
- 15. 可以使用Doxygen,Sandcastle或其他文档生成器来记录XML吗?
- 16. 构建OpenCV 2.2 html文档
- 17. 导出自动生成Matlab文档到html
- 18. 使用PHP生成文档
- 19. 使用Appledocs生成文档
- 20. 用于.NET的HTML文档生成器
- 21. msbuild/clickonce发布构建期间生成的文件
- 22. 如何使用angular-cli构建生成多个html文件?
- 23. nosetests --cover-html不生成html文档
- 24. 使用Ruby on Rails从erb文件自动生成html文件
- 25. Sandcastle文档中的图像
- 26. 文档生成软件,可自动保存生成
- 27. 我使用sphinx来构建pdf,如何生成自动索引
- 28. S3 - 自动生成文件夹结构?
- 29. 为没有“Xml文档文件”选项的网站生成Sandcastle帮助文件
- 30. 如何将动态生成的HTML文档嵌入到HTML文档中?
不知道你的目标建立时间偏离航线,但只是想提一提,沙塔真的不是你想对你的日常积累调试周期,包括东西。 – 2008-10-21 06:59:03
没有,因为我在这个答案中提到(http://stackoverflow.com/questions/211693/generate-html-documentation-automatically-during-a-build-with-sandcastle#211710)我有一个文件一个单独的版本。 – 2008-10-21 08:08:33