Comment générer de la documentation à l’aide du paquet Sandcastle NuGet (EWSoftware.SHFB)?

J’essaie de générer une documentation de site Web pour mon code C # à l’aide du package NuGet de Sandcastle dans Visual Studio (EWSoftware.SHFB). Le fait est que je ne sais pas comment l’utiliser. Je l’installe à partir du gestionnaire de paquets NuGet et je n’ai aucune idée de ce qu’il faut en faire.

Je n’ai aucun problème à éditer mon projet de documentation et à générer le site Web correspondant à l’aide de l’extension VS Sandcaslte installée avec le programme d’installation par défaut.

Merci de votre aide.

En supposant que vous ayez déjà une solution avec un projet, ajoutez un nouveau projet de type “Documentation” à votre solution.

entrez la description de l'image ici

Cliquez avec le bouton droit de la souris sur Sources de documentation et ajoutez une source en sélectionnant le csproj que vous souhaitez documenter.

entrez la description de l'image ici

Alors juste construire.

MsBuild.exe MyDocumentationProject.shfbproj généré la documentation. Cela signifie que le projet ne peut pas être édité via VS, mais qu’il peut être généré à l’aide de la ligne de commande.

Avant, comme indiqué sur https://github.com/EWSoftware/SHFB/blob/master/NuGet/ReadMe.txt :

  1. la propriété ComponentPath doit être définie dans MyDocumentationProject.shfbproj pour fournir des informations de reflection sur la structure que vous utilisez.

      $(MSBuildThisFileDirectory)..\packages\EWSoftware.SHFB.NETFramework.4.6  
  2. La variable d’environnement SHFB doit être définie de manière conditionnelle dans MyDocumentationProject.shfbproj .

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

J’ai créé le projet de documentation avec le plug-in Visual Studio après avoir installé Sandcastle.

J’ai ajouté l’événement suivant à la construction sur un autre projet une fois l’opération terminée:

 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 

La variable d’environnement SHFB dans le fichier de documentation du projet ressemble à ceci:

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

Si Sandcastle n’est pas installé sur le système, il utilisera les exécutables du package NuGet. Assurez-vous que la version correspond aux autres.

Ces liens de documentation peuvent aider à résoudre des problèmes que j’ai oubliés:

  • Projets de construction en dehors de l’interface graphique
  • Génération de documentation avec Team Build