Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
8m 33s
Mit der Veröffentlichung von .NET 9 hat Microsoft eine subtile, aber leistungsstarke Verbesserung für Entwickler eingeführt: das SLNX-Dateiformat. Dieses neue Lösungsdateiformat dient als saubere, besser zu wartende Alternative zur traditionellen .sln-Datei, die lange Zeit ein Eckpfeiler der Visual Studio-Entwicklung war. In seinem 8-minütigen Schulungsvideo mit dem Titel "SLNX-Dateien in .NET 9 - Warum sie wichtig sind" erklärt der bekannte .NET-Pädagoge Tim Corey, was die SLNX-Datei genau ist, warum sie wichtig ist und wie sie die tägliche Entwicklung verbessert.
Schauen wir uns Tims Video zu dieser neuen Funktion for .NET-Entwickler im Detail an.
Zu Beginn erläutert Tim, dass .NET 9 die Möglichkeit bietet, herkömmliche .sln-Dateien in das neue .slnx-Dateiformat zu konvertieren. Dieses neue Lösungsformat zielt darauf ab, häufige Probleme zu beheben, die Entwickler mit bestehenden Visual Studio-Lösungsdateien haben, nämlich Komplexität, schlechte Lesbarkeit und unübersichtliche Konflikte beim Zusammenführen.
Tim erklärt, dass sein Video Teil einer Serie ist, die schnelle, aber praktische Erklärungen bieten soll. Und in diesem Fall konzentriert sich die Erklärung auf SLNX - was es ist, welche Probleme es löst und wie man es einsetzt.
Um zu erklären, warum wir ein neues Lösungsformat benötigen, geht Tim zunächst auf die aktuelle .sln-Datei ein - eine Datei, die automatisch erstellt wird, wenn Sie Vorlagen wie eine Blazor Web App verwenden.
Er erklärt, dass die Lösungsdatei im Wesentlichen ein "Eimer" ist, der Projektdateien zusammenfasst. Diese Projekte müssen nicht einmal direkt miteinander verbunden sein; das sln-Format teilt Visual Studio einfach mit, was geöffnet werden soll, wenn Sie eine Lösung laden.
Obwohl die SLN-Datei eine wichtige Rolle spielt, ist ihre Struktur veraltet und unübersichtlich.
Tim öffnet dann eine .sln-Beispieldatei in Visual Studio Code und zeigt ihre interne Struktur. Er geht typische Inhalte durch, wie zum Beispiel:
Microsoft Visual Studio Lösungsdatei, Format Version 12.00
Visual Studio Version 17.0 (dies bezieht sich auf die IDE-Version, nicht auf das Jahr)
Projekt-GUIDs wie Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Build-Konfigurationszeilen wie Debug|Jede CPU und Version|Jede CPU
Die abschließenden Abschnitte EndProject und Global
Tim hebt hervor, dass das alte Lösungsdateiformat voller unnötiger Bezeichner ist, einschließlich mehrerer Instanzen der berüchtigten FAE04EC0-301F-11D3-BF4B-00C04F79EFBC-GUID, die zur Darstellung von .NET-Projekten verwendet wird. Diese Dateien sind sehr umfangreich, schwer zu lesen und äußerst schwierig manuell zu bearbeiten.
Tim geht näher auf die Probleme mit SLN-Dateien ein:
Manuelle Bearbeitungen sind aufgrund der Komplexität der Datei riskant
Zusammenführungskonflikte sind in Teamumgebungen üblich
Viele Felder sind redundant und unnötig detailliert
Schlechte Versionskontrollfreundlichkeit
Er stellt fest, dass diese Dateien im Laufe der Zeit gewachsen sind und sich mit irrelevanten Daten wie Build-Zielen, GUIDs und ausführlicher Syntax überladen haben.
Um das SLNX-Dateiformat zu übernehmen, zeigt Tim, wie man es über die Vorschau-Funktionen von Visual Studio aktiviert. Unter Tools → Optionen müssen Entwickler die Option "Use solution file persistence model" aktivieren Mit dieser Option wird die Möglichkeit aktiviert, Ihre Lösung in der Dateierweiterung .slnx statt .sln zu speichern.
Diese Funktion gehört zu den experimentellen Funktionen von Microsoft, ist aber für Tests in Visual Studio 2022 und höher vollständig verfügbar.
Sobald die Vorschaufunktion aktiviert ist, können Sie auf Datei → Speichern unter gehen und dann "XML Solution File (.slnx)" im Dropdown-Menü wählen. Tim demonstriert dies anhand einer Beispiellösung namens SolutionDemoApp.
Nach dem Speichern erscheinen sowohl die .sln- als auch die .slnx-Dateien im Verzeichnis. Tim bittet Sie, das alte Format (.sln) zu löschen, um Verwechslungen zu vermeiden.
Das Öffnen der neuen SLNX-Datei in VS Code zeigt eine saubere, minimale Struktur:
<Solution>
<Project>./SolutionDemo</Project>
<Project>./SolutionDemoClient</Project>
</Solution><Solution>
<Project>./SolutionDemo</Project>
<Project>./SolutionDemoClient</Project>
</Solution>Tim weist auf die wichtigsten Unterschiede hin:
Keine GUIDs
Keine EndProject- oder GlobalSection-Blöcke
Keine Debug/Release-Konfigurationen, sofern nicht ausdrücklich geändert
Nur relative Pfade zu Projektdateien
Dieses minimale Design ist mehr auf das ausgerichtet, was Entwicklern tatsächlich wichtig ist, wie Projektnamen, Pfade und eine saubere Struktur für Versionskontrollsysteme wie Git.
Tim betont noch einmal, dass das SLNX-Format keine neuen Verhaltensweisen hinzufügt - es ist immer noch ein Eimer für die Verwaltung von Projektdateien. Aber es ist viel einfacher zu verstehen, zu bearbeiten und zu teilen. Das ist der eigentliche Vorteil.
Einer der herausragenden Vorteile ist die einfachere Lösung von Konflikten bei der Zusammenführung. Mit .slnx können Sie klar erkennen, welche Projekte hinzugefügt oder entfernt wurden, und die Datei manuell bearbeiten, ohne sie zu zerstören.
Tim zufolge eignet sich das neue Lösungsdatei-Persistenzmodell besonders gut für:
Große Lösungen mit vielen Projekten
Projekte, bei denen häufig zusammengearbeitet und zusammengeführt wird
Entwickler, die sauberes, lesbares XML einer aufgeblähten Syntax vorziehen
Es handelt sich nicht um eine revolutionäre Funktion, sondern, wie Tim es ausdrückt, um eine dringend benötigte Verbesserung der Lebensqualität.
Die .slnx-Datei ist jetzt sogar mit einem Symbol versehen, und Sie können sie per Doppelklick in Visual Studio öffnen. Diese kleinen Verbesserungen sorgen dafür, dass es sich mehr wie ein natives Format anfühlt.
Tim erwähnt, dass man eine .slnx-Datei zwar immer noch nicht auf dieselbe Weise öffnen kann wie eine .csproj-Datei, dass sich die Unterstützung für die Tools aber weiterentwickelt. Er glaubt, dass es nur eine Frage der Zeit ist, bis das SLNX-Format das neue Dateiformat für Studiolösungen wird.
Tim spekuliert, dass Lösungsdateien auf lange Sicht optional oder sogar überflüssig werden könnten. Schließlich machen sie nicht viel mehr als Gruppenprojekte. Aber für den Moment ist die SLNX-Datei ein sauberes Sprungbrett in diese Zukunft.
Er räumt ein, dass Änderungen an der Struktur der Lösungsknoten Aktualisierungen der bestehenden Tools, Bibliotheken und Abwärtskompatibilität erfordern würden.
Tim betont, dass das neue Lösungsformat ideal für Git-basierte Arbeitsabläufe ist. SLNX-Dateien sind weniger anfällig für beschädigte Dateien und lassen sich leichter zusammenführen, vergleichen und verfolgen. Dies entspricht den Bedürfnissen der modernen .NET-Community nach besserer Zusammenarbeit und besseren Werkzeugen.
Tim geht davon aus, dass das SLNX-Format bis zum Zeitrahmen von .NET 10 "ausgereift" sein wird. Obwohl es sich immer noch um eine Vorschaufunktion handelt, wurden die meisten der bisherigen Einschränkungen - wie fehlende Symbole oder Doppelklick-Unterstützung - behoben.
Seine Empfehlung ist klar: Fangen Sie an, SLNX für neue Projekte zu verwenden und migrieren Sie bestehende Lösungen, wo es angebracht ist. Vermeiden Sie es einfach, die Übersetzung in große Unternehmenssysteme einzubringen, bevor sie nicht in der Vorschau zu sehen ist.
Tim Coreys Video der SLNX-Datei ist ein überzeugendes Argument für die Abkehr vom veralteten SLN-Format. Durch die Übernahme des neuen SLNX-Dateiformats profitieren die Entwickler:
Vereinfachte Syntax
Leichtere Zusammenarbeit
Bessere Kompatibilität mit modernen Tools
Verbesserte Git-Konfliktlösung
Ganz gleich, ob Sie die .NET CLI, Visual Studio oder VS Code mit dem C# Dev Kit verwenden, das SLNX-Format entwickelt sich zu einer zuverlässigen Alternative. Und da die volle Unterstützung wahrscheinlich mit .NET 10 kommen wird, ist es jetzt an der Zeit zu lernen, wie man damit arbeitet.
Wenn Sie es also leid sind, sich durch unübersichtliche Studio-Lösungsdateiformate zu wühlen, mit Merge-Konflikten zu kämpfen oder mit fehlerhaften Build-Konfigurationen umzugehen, sollten Sie das SLNX-Format ausprobieren.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy