2015-11-12 1 views
4

Я пытаюсь создать документацию на сайте для своего кода на C#, используя пакет NuGet Sandcastle в Visual Studio (EWSoftware.SHFB). Дело в том, что я не знаю, как его использовать. Я устанавливаю его из диспетчера пакетов NuGet, а затем я понятия не имею, что с ним делать.Как создать документацию с помощью пакета Sandcastle NuGet (EWSoftware.SHFB)?

У меня нет проблем в редактировании моего проекта документации и создании соответствующего веб-сайта с использованием расширения VS Sandcaslte, установленного установщиком по умолчанию.

Благодарим за помощь.

+0

Это также может быть полезным. https: //www.codeproject.com/Articles/82430/Authoring-Integrating-API-Help-for-VS-and-VS – dviljoen

ответ

2

MsBuild.exe MyDocumentationProject.shfbproj сгенерирована документация. Это означает, что проект нельзя редактировать с помощью VS, но он может быть сгенерирован с использованием командной строки.

Beforhand, как указано в https://github.com/EWSoftware/SHFB/blob/master/NuGet/ReadMe.txt:

  1. свойство ComponentPath должен быть установлен в MyDocumentationProject.shfbproj предоставить информацию относительно отражения в рамках вы используете.

    <PropertyGroup> 
        <ComponentPath>$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.NETFramework.4.6</ComponentPath> 
    </PropertyGroup> 
    
  2. переменной среды SHFB должен быть установлен условно в MyDocumentationProject.shfbproj.

    <PropertyGroup> 
        <SHFBROOT Condition=" '$(SHFBROOT)' == '' ">$(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.2015.10.10.0\Tools\</SHFBROOT> 
    </PropertyGroup> 
    
2

Предполагая, что у вас уже есть решение с проектом, добавьте в проект новый проект типа «Документация».

enter image description here

правой кнопкой мыши Источники документации и добавить источник, выбрав csproj вы хотите документировать.

enter image description here

Тогда просто построить.

+0

Я хочу, чтобы у пользователей не было установленного компонента Sandcatle для создания документации. – Numid

+0

Какое программное обеспечение будет генерировать эту документацию в этом сценарии? –

+0

Как указано в https://github.com/EWSoftware/SHFB/blob/master/NuGet/ReadMe.txt, пакет NuGet должен предоставлять такую ​​функциональную функцию. – Numid

0

Я создал документацию проекта с Visual Studio плагин после установки Sandcastle.

Я добавил следующее событие после сборки на другом проекте, когда успешно завершена:

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> 

Если Sandcastle ISN» t, установленный в системе, он будет использовать исполняемые файлы из пакета NuGet. Убедитесь, что версия соответствует другим.

Эти ссылки на документацию могут помочь для вопросов, которые я забыл о: