J'ai un projet de bibliothèque de classe C # dans Visual Studio 2017 pour lequel j'aimerais créer un diagramme de classes. Le concepteur de classes est installé. En regardant le menu contextuel de l'espace de noms ou de l'une des classes de la vue des classes, l'option "Afficher le diagramme de classes" et le bouton correspondant sont affichés dans la barre de menus de la vue.
Cependant, lorsque je clique sur le bouton ou sur l'élément de menu contextuel, rien ne semble se passer! En revenant à la vue Explorateur de solutions, je peux voir qu'un fichier ClassDiagram1.cd
a été ajouté au projet. Tenter d'ouvrir ce fichier entraîne un message d'erreur:
Les diagrammes de classes ne sont pas pris en charge par ce type de projet.
Ajoutez le fichier de diagramme de classes à un projet C #, VB ou C++ et essayez de l'ouvrir à nouveau.
Je serais assez heureux de pouvoir ajouter un diagramme moi-même plutôt que de le générer si la génération n'est pas possible. Mais je ne peux pas non plus ajouter de fichier de diagramme de classes vide au projet, car ce type de fichier ne figure pas dans la liste des types de fichiers du formulaire Ajouter un nouvel élément.
Comment créer un diagramme de classes pour les classes contenues dans une bibliothèque de classes? Ou peut-être que les diagrammes de classes ne sont pas disponibles pour les bibliothèques? Si tel est le cas, y a-t-il des informations de Microsoft à A) pour confirmer cela et B) expliquer pourquoi les classes d'un programme peuvent être représentées sous forme de diagramme mais pas celles d'une bibliothèque (J'ai déjà passé un peu de temps à googler cette question mais je n'ai rien trouvé de spécifique aux bibliothèques de classes)
Comme il s’agit du lien n ° 1 de Google pour les problèmes liés au concepteur de classes et, chose surprenante, personne n’a voulu y répondre jusqu’à présent (en particulier la partie "Les diagrammes de classes ne sont pas pris en charge par ce type de projet"), laissez-moi vous parler:
Fermez VS et ouvrez le fichier à
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed\Microsoft.CSharp.DesignTime.targets
Rechercher la ligne
<ProjectCapability Include="CSharp;Managed"/>
Écrivez "ClassDesigner" comme une capacité comme celle-ci:
<ProjectCapability Include="CSharp;Managed;ClassDesigner"/>
Enregistrez le fichier et rouvrez VS. Votre diagramme de classe devrait fonctionner maintenant. Vous devriez même pouvoir en ajouter de nouveaux (du moins, je le peux dans mon projet de bibliothèque de classes .NET Standard 2.0 dans VS2017.5.3).
En fait, la bonne réponse consiste à utiliser Visual Studio Installer comme décrit ici dans la documentation Microsoft. Et il fonctionne!
Pour autant que je sache, les diagrammes de classes ne sont actuellement pas pris en charge dans les projets .Net Standard et .Net Core (ils partagent le même type de projet) dans VS 2017. Il existe plusieurs discussions à ce sujet dans la communauté de développeurs , qui Je n'ai pas reçu beaucoup de réponse de Microsoft jusqu'à présent.
Vous voudrez peut-être envisager de créer un problème à ce sujet sur le référentiel dotnet/standard .