如何使用Sandcastle NuGet包(EWSoftware.SHFB)生成文档?

我正在尝试使用Visual Studio中的Sandcastle的NuGet包(EWSoftware.SHFB)为我的C#代码生成网站文档。 事实是我不知道如何使用它。 我从NuGet包管理器安装它然后我不知道如何处理它。

编辑我的文档项目并使用安装了默认安装程序的VS Sandcaslte扩展生成相应的网站没有问题。

谢谢您的帮助。

假设您已经有项目的解决方案,请在解决方案中添加“文档”类型的新项目。

在此处输入图像描述

右键单击“文档源”,然后通过选择要记录的csproj来添加源。

在此处输入图像描述

然后建立。

MsBuild.exe MyDocumentationProject.shfbproj生成了文档。 这意味着无法通过VS编辑项目,但可以使用命令行生成项目。

Beforhand,如https://github.com/EWSoftware/SHFB/blob/master/NuGet/ReadMe.txt所述 :

  1. 必须在MyDocumentationProject.shfbproj中设置ComponentPath属性,以提供有关您正在使用的框架的reflection信息。

      $(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.NETFramework.4.6  
  2. 必须在MyDocumentationProject.shfbproj有条件地设置SHFB环境变量。

      $(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.2015.10.10.0\Tools\  

我在安装Sandcastle后使用Visual Studio插件创建了文档项目。

成功完成后,我在另一个项目上添加了以下post-build事件:

 IF "$(ConfigurationName)"=="Debug" Goto Exit ECHO Building SHFB help file via MSBuild "$(SystemRoot)\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" /p:CleanIntermediates=True /p:Configuration=Release "$(SolutionDir)Documentation\Documentation.shfbproj" :Exit 

项目文档文件中的SHFB环境变量如下所示:

  $(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.2016.9.17.0\tools\ 

如果系统上未安装Sandcastle,它将使用NuGet包中的可执行文件。 确保版本与其他版本匹配。

这些文档链接可能有助于我忘记的问题:

  • 在GUI之外构建项目
  • 使用Team Build生成文档