2017-07-25 4 views
5

Je suis en train de développer une application qui nécessite des dll externes que je ne contrôle pas. Je voudrais ajouter de la documentation pour ces classes, afin que les autres puissent comprendre pourquoi je fais certains appels que je fais à ces fichiers DLL externes. L'ajout des fichiers DLL externes aux sources de documentation enregistre en effet les classes, mais tous les résumés et autres informations ne sont pas disponibles. Est-il possible de documenter ces fichiers (De préférence sans avoir à décompiler/recréer l'assemblage en tant que projet), donc je peux générer la documentation HTML associée avec sandcastle?Documentation de dll externes avec sandcastle

J'ai essayé de garder le répertoire de travail Sandcastles activé, pour voir si les fichiers .xml (que j'ai vu ont été copiés de mes autres projets) ont été générés et placés dans ce répertoire. Cela ne semble pas être le cas, aucun fichier n'a été généré, et il va directement à la génération des fichiers html.

+0

Cela pourrait aider: https://ewsoftware.github.io/SHFB/html/f5b58289-dd25-45b6-b616-5b8af6ba3739.htm#CreateComments – IronGeek

+0

Comment consommez-vous les dll? Vous ne pouvez pas créer un wrapper autour des DLL? De cette façon, vous pouvez choisir des noms de fonctions qui pourraient être plus pertinents pour votre application ainsi que commenter à la fois votre propre fonction et les appels à la DLL dans l'implémentation de l'encapsuleur. Vous avez également l'avantage de faciliter l'échange de la DLL pour autre chose. – David

Répondre

4

Pour autant que je comprends votre question sur la création d'une documentation pour un cas d'utilisation de DLL externe, je vois deux façons possibles que vous pouvez aller:

  • « manque » notes pour tous les articles de la DLL externe que vous pourrait vouloir documenter ou/et
  • ajouter des sujets conceptuels à votre propre documentation de programme.

Ma solution échantillon projet WindowsApplication2 a un formulaire pour ajouter deux valeurs à l'aide d'un simple PDUNZDLL. Un projet de générateur de fichiers d'aide de Sandcastle "Documentation1" a été ajouté et deux sources de documentation (à ce stade sans fichier de commentaires XML, voir le premier instantané ci-dessous). Vous savez, une DLL sans fichier de commentaires XML entraîne un résumé rouge manquant.

Snapshot of project and reproduced problem.

Solution proposée (1):

  1. Créer un fichier de commentaires XML vide comme ce qui suit et nommez après l'assemblage avec une extension .xml par exemple PDUNZDLL.xml

    <?xml version="1.0"?> 
    <doc> 
        <assembly> 
        <name>PDUNZDLL</name> 
        </assembly> 
        <members> 
        </members> 
    </doc> 
    
  2. Enregistrer ce fichier dans le dossier de débogage par exemple D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug

  3. Double-cliquez sur le "Propriétés du projet" (voir le deuxième cliché ci-dessous)
  4. Dans la boîte de dialogue Configurations de composants, ajoutez le " IntelliSense Component "pour le projet.
  5. Sélectionnez "Balises manquantes" et définissez les propriétés Afficher les balises manquantes du projet à votre convenance. Cela forcera la construction à ajouter des notes "manquantes" pour tous les éléments que vous pourriez vouloir documenter.
  6. Générez le projet et vous trouverez un nouveau fichier de commentaires XML nommé après l'assembly dans le dossier de sortie du projet, par ex. D:\Visual-Studio-2015\Projects\WindowsApplication2\Documentation1\Help
  7. Modifiez les éléments <member> dans le fichier de commentaires XML pour ajouter les commentaires souhaités pour chaque membre, comme indiqué dans le deuxième instantané.

Lorsque vous avez terminé, remplacez le fichier de réservation d'origine, p.D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug\PDUNZDLL.xml avec celui généré à partir de la construction avec vos commentaires édités. ReBuild votre projet de documentation.

Cela prend bien sûr beaucoup de temps en tant que création d'aide pour les applications. Et c'était en fait la tâche du développeur DLL.

enter image description here

Solution proposée (2):

lecture entre vos lignes » ... afin que les autres puissent comprendre pourquoi je fais certains appels que je fais à ces fichiers DLL externes " m'amène à la suggestion d'ajouter une documentation supplémentaire à votre propre programme. Donc, ce que je veux dire est d'ajouter des sujets conceptuels décrivant comment vous appelez les caractéristiques des fichiers DLL externes.

J'ai enlevé la DLL sous la rubrique « Documentation Sources », a ajouté un nouveau dossier « ExternalDLL », a ajouté un nouvel élément conceptuel et Walkthrough, double-cliquez sur ContentLayout.content dans l'explorateur de solution, et a fait toutes les étapes de contenu mise en page, ReBuild le projet de documentation résultant dans un fichier d'aide comme indiqué dans le troisième instantané ci-dessous (voir aussi les informations d'arrière-plan).

![enter image description here

création heureuse d'aide!