Laden...
News Headline: Neues Visual Studio Solution-Dateiformat "SLNX"
Neues Visual Studio Solution-Dateiformat "SLNX"

Microsoft hat nun nach Jahren des Feedbacks ein neues Datei-Format für Solution-Dateien umgesetzt, das mit der aktuellen Preview von Visual Studio getestet werden kann.

Das zukünftige Dateiformat "slnx" wird rein XML-basiert sein, wie man es aus anderen modernen Verwaltungsdateien wie csproj ebenfalls kennt und massiv verkleinert werden.

Das neue Dateiformat bietet eine deutlich verbesserte Lesbarkeit, es ist manuell (leichter) editierbar, folgt dem XML-Standard und ist so einfacher auch für externe Tools interpretierbar und senkt das Potential von defekten Dateien nach Git-Merges.

Eine bisher 37 Zeilen lange Solutiondatei

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34407.89
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{D5991777-2F40-49C9-BB75-78228CB25021}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2BDE57F7-2328-4C85-998C-DE491FB76CFE}"
 ProjectSection(SolutionItems) = preProject
  Directory.Build.props = Directory.Build.props
 EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{F1E36EA1-B227-4311-BA97-DFFFD7B3D777}"
EndProject
Global
 GlobalSection(SolutionConfigurationPlatforms) = preSolution
  Debug|Any CPU = Debug|Any CPU
  Release|Any CPU = Release|Any CPU
 EndGlobalSection
 GlobalSection(ProjectConfigurationPlatforms) = postSolution
  {D5991777-2F40-49C9-BB75-78228CB25021}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
  {D5991777-2F40-49C9-BB75-78228CB25021}.Debug|Any CPU.Build.0 = Debug|Any CPU
  {D5991777-2F40-49C9-BB75-78228CB25021}.Release|Any CPU.ActiveCfg = Release|Any CPU
  {D5991777-2F40-49C9-BB75-78228CB25021}.Release|Any CPU.Build.0 = Release|Any CPU
  {F1E36EA1-B227-4311-BA97-DFFFD7B3D777}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
  {F1E36EA1-B227-4311-BA97-DFFFD7B3D777}.Debug|Any CPU.Build.0 = Debug|Any CPU
  {F1E36EA1-B227-4311-BA97-DFFFD7B3D777}.Release|Any CPU.ActiveCfg = Release|Any CPU
  {F1E36EA1-B227-4311-BA97-DFFFD7B3D777}.Release|Any CPU.Build.0 = Release|Any CPU
 EndGlobalSection
 GlobalSection(SolutionProperties) = preSolution
  HideSolutionNode = FALSE
 EndGlobalSection
 GlobalSection(ExtensibilityGlobals) = postSolution
  SolutionGuid = {CB456CB7-F491-48D5-B012-38A64C9AF96E}
 EndGlobalSection
EndGlobal

ist zukünftig nur noch 7 Zeilen lang bei gleichbleibender Bedeutung.

<Solution>
  <Folder Name="/Solution Items/">
    <File Path="Directory.Build.props" />
  </Folder>
  <Project Path="ClassLibrary1\ClassLibrary1.csproj" />
  <Project Path="ConsoleApp1\ConsoleApp1.csproj" />
</Solution>

Aktuell ist dies ein Preview-Feature, das exklusiv zum Testen in Visual Studio (ab 17.10) aktiviert werden muss. Danach kann eine bestehende Solution-Datei über "Save As" als SLNX-Format exportiert werden.
Andere Tools wie Visual Studio Code oder die .NET CLI unterstützen das neue Format aktuell nicht.

Microsoft bittet entsprechend um das Testen der neuen Datei und um Feedback über den Visual Studio-Kanal.