C# 如何使用Sandcastle NuGet包(EWSoftware.SHFB)生成文档?
我正试图使用VisualStudio中Sandcastle的NuGet包(EWSoftware.SHFB)为我的C代码生成网站文档。事实是我不知道如何使用它。我从NuGet软件包管理器安装它,然后我不知道如何处理它 我可以编辑我的文档项目,并使用默认安装程序安装的VS Sandcaslte扩展生成相应的网站C# 如何使用Sandcastle NuGet包(EWSoftware.SHFB)生成文档?,c#,visual-studio,nuget,sandcastle,C#,Visual Studio,Nuget,Sandcastle,我正试图使用VisualStudio中Sandcastle的NuGet包(EWSoftware.SHFB)为我的C代码生成网站文档。事实是我不知道如何使用它。我从NuGet软件包管理器安装它,然后我不知道如何处理它 我可以编辑我的文档项目,并使用默认安装程序安装的VS Sandcaslte扩展生成相应的网站 感谢您的帮助。假设您已经有了一个项目的解决方案,请将“文档”类型的新项目添加到您的解决方案中 右键单击Documentation Sources并通过选择要记录的csproj添加源 然后
感谢您的帮助。假设您已经有了一个项目的解决方案,请将“文档”类型的新项目添加到您的解决方案中 右键单击Documentation Sources并通过选择要记录的csproj添加源
然后只需构建。MsBuild.exe MyDocumentationProject.shfbproj生成了文档。这意味着项目不能通过VS编辑,但可以使用命令行生成 在此之前,如所述:
MyDocumentationProject.shfbproj
中设置ComponentPath
属性,以提供有关所使用框架的反射信息
<PropertyGroup>
<ComponentPath>$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.NETFramework.4.6</ComponentPath>
</PropertyGroup>
在安装Sandcastle之后,我使用Visual Studio插件创建了文档项目 成功完成后,我在另一个项目上添加了以下生成后事件:
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环境变量如下所示:
<!-- NOTE: Update the version number in the path (YYYY.M.D.R) to match the package version -->
<SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.2016.9.17.0\tools\</SHFBROOT>
$(MSBuildThisFileDirectory)…\packages\EWSoftware.SHFB.2016.9.17.0\tools\
如果系统上没有安装Sandcastle,它将使用NuGet包中的可执行文件。确保版本与其他版本匹配
这些文档链接可能有助于解决我忘记的问题:
<!-- NOTE: Update the version number in the path (YYYY.M.D.R) to match the package version -->
<SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.2016.9.17.0\tools\</SHFBROOT>