Blog

Entmystifizierung der .NET Core SDK-Versionen

Marco Mansi

Aktualisiert Oktober 21, 2025
2 Minuten

Gestern Abend habe ich etwas Code in .NET Core für das niederländische Azure Meetup entwickelt und bin (wieder einmal) auf Versionierungsprobleme und unerwartetes Verhalten gestoßen. Ich habe diesen Blogbeitrag gefunden, der in gewisser Weise das gleiche Problem beschreibt, das ich hatte. Update 13-01-2017: Ich habe diesen Blog gefunden, der das Problem ebenfalls sehr gut beschreibt. Der Blogbeitrag besagt, dass Sie bei der Verwendung von:

dotnet neu

und Sie eine bestimmte Version des .NET Core SDK verwenden möchten, sollten Sie eine global.json Datei hinzufügen (bevor Sie den Befehl "dotnet new" ausführen), und zwar wie folgt:

{
  "sdk": {
  "Version": "1.0.0-preview2-003121"
  }
}

Die SDKs werden unter Windows im Ordner Programme (oder Programme (x86), wenn Sie ein 32-Bit-Windows haben) installiert, also sehen wir uns das mal an:

Die folgenden SDKs sind auf meinem Rechner installiert:

  • 1.0.0-preview2-003131
  • 1.0.0-preview2-003133
  • 1.0.0-preview2-003156
  • 1.0.0-preview4-004233
  • 1.0.0-preview2-1-003177

Aber woher weiß ich, welches SDK zu welcher .NET Core-Version gehört? Leider setzt Microsoft diese Information nicht in die Namen der SDK-Ordner, sondern verwendet die CLI-Versionierung in den Ordnernamen(!). Es scheint, dass sie sich dieser lästigen und seltsamen Namenskonvention bewusst sind:

In der folgenden Tabelle habe ich einen Überblick über die .NET Core-Versionen und die Art des Projekts, das das .NET Core CLI-Tooling erzeugt (json oder csproj), erstellt.

Das .NET Core Team hat beschlossen, drop *.xproj/project.json und zu MSBuild und *.csproj zurückzukehren, siehe hier
SDK-Ordner Name.NET Core VersionProjekt-Typ
1.0.0-preview2-0031311.0.1json
1.0.0-preview2-0031331.0.1json
1.0.0-preview2-0031561.0.3json
1.0.0-preview4-0042331.0.1csproj
1.0.0-preview2-1-0031771.1.0json
.NET Core 1.0.2 fehlt in meiner Übersicht. Das liegt daran, dass diese Version ein Patch für Benutzer von MacOS Sierra war,

Wenn Sie also eine .NET Core-Anwendung mit 1.0.3 erstellen möchten, fügen Sie eine global.json-Datei mit diesem Inhalt hinzu:

{
  "sdk": {
  "Version": "1.0.0-preview2-003156"
  }
}

Und führen Sie dann den Befehl aus: dotnet neu

Fazit

Die Benennung der Versionen des .NET Core SDK-Ordners ist nicht eindeutig, was die Auswahl der richtigen Version in Ihrer global.json-Datei erschwert. Ich hoffe, mit der obigen Tabellenübersicht mehr Klarheit zu schaffen, was Sie verwenden sollten.  

Verfasst von

Marco Mansi

Contact

Let’s discuss how we can support your journey.