Klassendiagramme in VS 2017


180

Ich habe VS 2015 verwendet und mag das Element Klassendiagramm. Ich habe kürzlich ein Upgrade auf 2017 durchgeführt und kann das Element Klassendiagramm anscheinend nicht finden. Weiß jemand, wie ich dazu komme?


37
Gehen Sie zum Menü Extras-> Tools und Funktionen abrufen. Wählen Sie die Workload "Visual Studio-Erweiterungsentwicklung" und anschließend die Option "Class Designer". Installieren
Artur Karbone

Antworten:


210

Verwenden von VS2017 Enterprise:

  1. Gehen Sie zur Schnellstartleiste (oben rechts) Ctrl+Q
  2. Geben Sie "Class Designer" ein und ein Installationslink wird angezeigt

    Schnellstart> Class Designer

  3. Klicken Sie auf Installieren, neu starten und los geht's ... Viel Spaß!


9
Sie müssen "Diseñador de clases" eingeben, wenn Sie die spanische Version
ausführen

3
Geben Sie in der französischen Version von Visual Studio Community 2017 "Concepteur de classes" ein. Geben Sie in der deutschen Version "Klassen Designer" (danke an @dba)
LePatay

Arbeiten in Professionalals auch
Nimesh Madhavan

5
Keine Ergebnisse für mich.
Mark Lauter

138

Ich habe dies in der Beta bemerkt und dachte, ich hätte eine schlechte Installation. Die UI-Elemente zum Hinzufügen neuer Klassendiagramme fehlten und ich konnte vorhandene * .cd-Klassendiagrammdateien in meinen Lösungen nicht öffnen. Gerade auf 2017 aktualisiert und festgestellt, dass das Problem weiterhin besteht. Nach einigen Untersuchungen scheint die Class Designer-Komponente nicht mehr standardmäßig installiert zu sein.

Durch erneutes Ausführen des VS-Installationsprogramms und Hinzufügen der Class Designer-Komponente kann ich sowohl Klassendiagramme öffnen und bearbeiten als auch die zum Erstellen neuer Elemente erforderlichen UI-Elemente wiederherstellen

VS Installer> Einzelkomponenten> Klassen-Designer


2
Welche UI-Elemente werden zur Verfügung gestellt? Diese Komponente ist für meine Installation (VSPro 2017) deaktiviert, aber beim Neustart von VS ist keine Menüoption mit dem Titel "Class Designer" verfügbar. --- Hoppla, mein Schlechtes. Da es wahrscheinlich noch jemanden gibt, der so abwesend ist wie ich, finden Sie hier eine Schritt-für-Schritt-Anleitung von MS . Ich habe versucht, Datei> Neu> Datei, aber ich musste Projekt> Neues Element hinzufügen ausführen. Der Fluch der unendlichen Menüs ...
Sean Allred

32

Sie müssen die Workload "Visual Studio-Erweiterungsentwicklung" und die optionale Komponente "Class Designer" aus dem Visual Studio 2017-Installationsprogramm installieren, um die Funktion zu erhalten.

Siehe: Visual Studio Community 2017-Komponentenverzeichnis

Diese Art von Element ist jedoch nicht für alle Projekttypen verfügbar . Probieren Sie es einfach selbst aus:

  • In einer Konsole ist App (.NET Framework) verfügbar;

  • In einer Konsole ist App (.NET Core) nicht verfügbar .

Ich konnte keine weiteren Informationen zur zukünftigen Verfügbarkeit auch für .NET Core-Projekte finden.




4
Ich denke, Microsoft sollte den Klassendesigner wieder großartig machen.
Tanveer Badar

Eigentlich ist es in .NET Core verfügbar, aber Sie müssen in eine Klasse (Controller, Service usw.) gehen und mit der rechten Maustaste klicken -> "Zum Schnelldiagramm hinzufügen"
Dumitriu Sebastian

24

Woo-hoo! Es funktioniert mit etwas Hack!

Nach diesem Kommentar müssen Sie:

  1. Manuelles Bearbeiten Microsoft.CSharp.DesignTime.targetsin C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed(für VS Community Edition Pfad für andere Editionen ändern), ClassDesignerWert anhängen ProjectCapability(rechter Bereich):Datei diff

  2. Starten Sie VS neu.

  3. Erstellen Sie manuell eine Textdatei, beispielsweise MyClasses.cdmit folgendem Inhalt: <?xml version="1.0" encoding="utf-8"?> <ClassDiagram MajorVersion="1" MinorVersion="1"> <Font Name="Segoe UI" Size="9" /> </ClassDiagram>

Bingo. Jetzt können Sie diese Datei in VS öffnen. Nach dem Start von VS wird einmal die Fehlermeldung "Objektreferenz nicht auf eine Objektinstanz festgelegt" angezeigt, aber das Diagramm funktioniert.

Geprüft auf VS 2017 Community Edition, Version 15.3.0 mit .NETCore 2.0 App / Projekt:

Geben Sie hier die Bildbeschreibung ein

GitHub-Problem wird voraussichtlich in Version 15.5 behoben


2
Ich musste Schritt 1 nicht ändern. Nur eine CD-Datei mit XML-Inhalten zu erstellen, die hier angezeigt wird, scheint ausreichend zu sein, damit sie mit dotnetcore funktioniert. Danke für diesen Hack.
eka808

1
Ich denke, Sie haben VS später als 15.5. Aktuelle Veröffentlichung ist 15.7
Dmitry

18

Das folgende Verfahren hat bei mir funktioniert:

  • Schließen Sie VS.
  • Führen Sie Visual Studio Installer aus.
  • Klicken Sie unter "Visual Studio Professional 2017" auf die Schaltfläche "Ändern".
  • Scrollen Sie im neuen Fenster nach unten und wählen Sie unter "Andere Toolsets" die Option "Visual Studio-Erweiterungsentwicklung" aus.
  • Wenn Sie noch nicht ausgewählt sind, klicken Sie rechts auf "Class Designer".
  • Klicken Sie zur Bestätigung auf "Ändern"

4
Übrigens. Jetzt ist es über VS möglich, sodass Sie es nicht schließen müssen. Klicken Sie einfach auf Extras-> Tools und Funktionen
abrufen

1
Ja, Sie haben Recht @ArturKarbone, obwohl das Installationsprogramm VS dann meistens alleine schließt.
Umair Malhi

7

VS 2017 Professional Edition - Gehen Sie zu Schnellstarttyp "Klasse ...", wählen Sie Klassendesigner und installieren Sie ihn.

Nach der Installation gehen Sie zu Neue Elemente hinzufügen, suchen Sie nach "Klassendiagramm" und Sie können loslegen.


4

Zusätzlich zu @ ericgols Antwort: Geben Sie in der französischen Version von Visual Studio Community 2017 "Concepteur de classes" in die Suchleiste ein.


3
auf Deutsch: "Klassen Designer" :) - lustige Sache, MS erkennt nicht seine eigene Standardsprache in der lokalisierten Suche ......
dba

Dieser Beitrag scheint keine qualitativ hochwertige Antwort auf die Frage zu geben.
sɐunıɔ ןɐ qɐp

1
sɐunıɔ ןɐ qɐp Meine Antwort sollte ein einfacher Nachtrag zu Ericgols Antwort sein, aber zu der Zeit konnte ich aufgrund meines guten Rufs nicht überall Kommentare abgeben.
LePatay

3
  1. Öffnen Sie Visual Studio Installer über das Windows-Startmenü oder wählen Sie in Visual Studio in der Menüleiste Extras> Tools und Funktionen abrufen.

    Visual Studio Installer wird geöffnet.

  2. Wählen Sie die Registerkarte Einzelkomponenten und scrollen Sie nach unten zur Kategorie Code-Tools.

  3. Wählen Sie Class Designer und dann Modify.

Visual Studio-Installationsfenster

Die Class Designer-Komponente wird installiert.

Weitere Informationen finden Sie unter folgendem Link: Gewusst wie: Hinzufügen von Klassendiagrammen zu Projekten



0

Ein weiterer Hinweis zur Antwort von Dmitry 2017. Ich öffnete mich

C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed\ 
Microsoft.CSharp.DesignTime.targets 

und ging zu dem <ProjectCapability>Element. Ich hatte das schon:

<ProjectCapability Include="
                          CSharp;
                          Managed;
                          ClassDesigner**;**" />

mit ClassDesigner bereits vorhanden, und dennoch war ich nicht in der Lage, Elemente mit der von Dmitry erwähnten XML-Bearbeitungsmethode (z.

Erstellen Sie manuell eine Textdatei, z. B. MyClasses.cd, mit folgendem Inhalt:

<?xml version="1.0" encoding="utf-8"?> <ClassDiagram MajorVersion="1"
> MinorVersion="1">
>     <Font Name="Segoe UI" Size="9" /> </ClassDiagram>

). Als ich jedoch das Semikolon von 'ClassDesigner' in diesem Element entfernte und dann Visual Studio, voila, erneut öffnete, konnte ich Klassen aus meinem Projektmappen-Explorer in mein Diagramm.cd-Fenster ziehen.

Zusammenfassend hat dieses Element also Microsoft.CSharp.DesignTime.targetsfunktioniert:

<ProjectCapability Include="
                              CSharp;
                              Managed;
                              ClassDesigner" />

Ich verwende VS 2019, Version 16.1.5.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.