Documentation bibliothèque C++/CLI code pour l'utilisation de c# - les meilleurs outils et pratiques?
Je travaille sur un projet où une bibliothèque c++/cli est utilisé principalement à partir d'une application en c#.
Est-il possible de faire les commentaires de code en c++/cli visibles afin de c# intellisence au sein de visual studio?
En supposant qu'il n'est pas le cas, quelle serait la meilleure façon de documenter le c++/cli code pour permettre son utilisation plus facile à partir de c# (et en c++/cli, bien entendu)? Quel est votre avis sur les commentaires XML vs doxygen vs d'autres outils (lesquels)?
Vous devez vous connecter pour publier un commentaire.
J'ai eu à le faire fonctionner comme suit:
Utilisation de XML les commentaires de style pour votre C++/CLI-tête entrées. Cela signifie que la pleine commentaire XML est nécessaire (triple slash commentaires,
<summary>
balise au minimum)Assurez-vous que le compilateur C++ option Générer du code XML des Fichiers de la Documentation est sur. Cela devrait générer un fichier XML avec de la documentation avec le même nom que votre assemblée MyDll.xml).
Assurez-vous que les références de projet C# votre assemblée MyDll.dll où MyDll.xml est également présent dans le même dossier. Lorsque vous passez la souris sur une référence à partir de l'assemblée, MS Visual Studio se charge de la documentation.
Cela a fonctionné pour moi dans Visual Studio 2008 un ensemble construit pour les .NET 3.5.
xml
fichier est présent et les commentaires existent, cependant intellisense ne pas afficher les commentaires. C'est dans VS2017.DocXml a l'avantage majeur d'être pris en charge par VS (syntaxe de la coloration, intellisense, à l'export automatique pour les fichiers XML). Le Doxygen outils peut lire DocXml format de sorte que vous pouvez toujours utiliser ce format est trop.
Pour vous aider à générer soigné et précis Doc commentaires avec un minimum d'effort, vous pouvez consulter mon addin AtomineerUtils. Cela prend plus de travaux de création et de mise à jour DocXml, Doxygen, JavaDoc ou Qt format de commentaires, et il prend en charge le C, C++, C++/CLI, C#, Java, JavaScript, Tapuscrit, JScript, UnrealScript, PHP et le code Visual Basic.
Intéressant. Après avoir essayé plusieurs méthodes, il est à la recherche comme l'intellisense entre une gestion de projet C++ et C# ne fonctionne pas.
L'exemple suivant vous donnera bonne intellisense dans l'environnement C++ où il est déclaré, mais faisant référence à l'objet en C# ne montre rien:
Commentaires XML ne fonctionne pas non plus. Je suppose que c'est soit un bug, ou exige quelque chose que je ne peux pas comprendre. À en juger par le manque de réponses sur cette question, peut-être un bug.
Autant que la génération de la documentation, je vous conseille d'aller le chemin de la documentation XML. Doxygen prend en charge la lecture de la documentation XML qui est essentiellement identique à la norme XML de documentation pour C#. Il a tendance à ajouter des lignes supplémentaires juste pour la balise d'ouvertures et de fermetures, mais est beaucoup plus lisible à mon avis que les suivantes doxygen alternative:
Vous avez raison. Il ne fonctionne pas. Le C++ build va ajouter ses informations IntelliSense dans le maître .pne fichier, et vous obtenez l'auto-complétion des noms de méthode, etc. Cependant, vous avez raison, il vous sera impossible d'obtenir le "commentaire" description de chaque méthode, etc.
Vous aurez probablement beaucoup de valeur en prenant un coup d'oeil à Doxygen. Et puis regardez jusqu'Doxygen.NET - qui est quelque chose que nous avons écrit pour notre propre usage qui construit des "Hiérarchies d'Objets" à partir du fichier XML sorties de Doxygen...