Gibt es eine gute Möglichkeit, ein Visio-Diagramm einer Architektur (mit einem anständigen Layout) zu generieren, wenn ich eine Liste von Client-Anwendungen, Diensten und Datenbanken habe? Ich hätte gedacht, dass es einen vernünftigen Weg geben würde, dies im laufenden Betrieb zu erzeugen.visio-Diagramm im laufenden Betrieb mit .NET generieren
Antwort
Es gibt auf GitHub. Wenn Sie Visio installiert haben, können Sie die Erstellung eines Diagramms automatisieren. Wenn Sie das gewünschte Diagramm als gerichtetes Diagramm modellieren können, kann es das Diagramm für Sie automatisch (mit MSAGL) gestalten.
Hier ist ein einfaches Beispiel des gerichteten Graphen
using VACONNECT = VisioAutomation.Shapes.Connections;
var d = new VisioAutomation.Models.DirectedGraph.Drawing();
var basic_stencil = "basic_u.vss";
var n0 = d.AddShape("n0", "Node 0", basic_stencil, "Rectangle");
n0.Size = new VA.Drawing.Size(3, 2);
var n1 = d.AddShape("n1", "Node 1", basic_stencil, "Rectangle");
var n2 = d.AddShape("n2", "Node 2", basic_stencil, "Rectangle");
var n3 = d.AddShape("n3", "Node 3", basic_stencil, "Rectangle");
var n4 = d.AddShape("n4", "Node 4\nUnconnected", basic_stencil, "Rectangle");
var c0 = d.AddConnection("c0", n0, n1, "0 -> 1", VACONNECT.ConnectorType.Curved);
var c1 = d.AddConnection("c1", n1, n2, "1 -> 2", VACONNECT.ConnectorType.RightAngle);
var c2 = d.AddConnection("c2", n1, n0, "0 -> 1", VACONNECT.ConnectorType.Curved);
var c3 = d.AddConnection("c3", n0, n2, "0 -> 2", VACONNECT.ConnectorType.Straight);
var c4 = d.AddConnection("c4", n2, n3, "2 -> 3", VACONNECT.ConnectorType.Curved);
var c5 = d.AddConnection("c5", n3, n0, "3 -> 0", VACONNECT.ConnectorType.Curved);
erstellen und dann zu ziehen:
var options = new VisioAutomation.Models.DirectedGraph.MsaglLayoutOptions();
var page = visio_app.ActivePage;
d.Render(page,options);
Dies ist die Definition einer Link-Only-Antwort. –
Genau das, was ich brauche, Danke – eka808
- 1. Angular: Generieren von Datenbankinformationen im laufenden Betrieb
- 2. Generieren von RDP-Datei im laufenden Betrieb
- 3. So generieren Sie einen großen Datenstrom im laufenden Betrieb
- 4. Crop Bild im laufenden Betrieb
- 5. Sound Generation im laufenden Betrieb
- 6. UIMenuController im laufenden Betrieb aktualisieren
- 7. Markdown für .NET? Wie macht SO es im laufenden Betrieb?
- 8. Ändern der aktiven Soundkarte im laufenden Betrieb
- 9. PHP ZIP-Dateien im laufenden Betrieb
- 10. Video-Stream-Analyse im laufenden Betrieb - beraten?
- 11. Erstellen von PayPal-Tasten im laufenden Betrieb
- 12. fullCalendar im laufenden Betrieb neu zeichnen
- 13. Spark Cassandra Anwendung immer im laufenden Betrieb
- 14. C# 4.0, Methoden im laufenden Betrieb?
- 15. Anfrage Erlaubnis im laufenden Betrieb erlaubt nicht
- 16. VB.Net Initialisieren eines Arrays im laufenden Betrieb
- 17. Sichtbarkeit der Methode im laufenden Betrieb bestimmen
- 18. Schreibe eine Ruby-Klasse im laufenden Betrieb
- 19. SVN zu ZIP im laufenden Betrieb
- 20. Python-Debugging: Code-Bearbeitung im laufenden Betrieb
- 21. asp.net - Generate Powerpoint-Datei im laufenden Betrieb
- 22. Ändern der Einstellungen im laufenden Betrieb?
- 23. Ändern Auth-Modell im laufenden Betrieb
- 24. Python Konstruieren Funktionen im laufenden Betrieb
- 25. PHP-Klassenfunktionen im laufenden Betrieb neu definiert?
- 26. Kann ich SparkContext.appName im laufenden Betrieb ändern?
- 27. Set $ http Timeout im laufenden Betrieb
- 28. Hinzufügen von TinyMCE im laufenden Betrieb
- 29. Android, App-Klassen im laufenden Betrieb aktualisieren
- 30. Mehrere Klassen Instanzen im laufenden Betrieb erstellen
'csharp' und 'Dotnet' Tags hier einfach falsch sind. Du hast die Seite lange genug benutzt, um es besser zu wissen. –
10 Ich dachte, ich lese, dass diese durch ein wiederkehrendes Skript zu den richtigen aufgelöst werden – leora
Ich hatte gute Ergebnisse mit Aspose.Diagram: http://www.aspose.com/.net/diagram-component.aspx – Adam