Pro und Contra des Versionswechsels von .NET Core 5 und ASP.NET 5

Der Dotnet-Doktor  –  1 Kommentare

Auf der Zielgeraden hat Microsoft sich entschieden, die Versionszählung für die modulare Neuimplementierung von .NET wieder bei 1 zu beginnen. Das macht durchaus Sinn, aber warum so spät?

Scott Hanselmann gab vorgestern bekannt, dass Microsoft sich nun doch entschlossen hat, bei der Versionszählung für die modulare Neuimplementierung von .NET wieder bei der Versionsnummer 1 zu beginnen. So wird aus .NET Core 5.0 nun .NET Core 1.0, und ASP.NET 5.0 wird ASP.NET Core 1.0. Auch das Entity Framework ist betroffen: Aus Entity Framework 7.0 wird Entity Framework Core 1.0.

Mein Schaubild aus dem dem Dezember 2014, das etwas mehr Details liefert als die von Microsoft bereitgestellte Grafik, habe ich nun angepasst:

Zu beachten ist, dass Microsoft diese Änderung noch nicht vollzogen hat, sondern erst in den kommenden Wochen im Quellcode, in der Dokumentation (siehe z.B. https://docs.asp.net/en/latest/) und Websites vollziehen wird.

Ist die Umbenennung nun gut oder schlecht?

Gut ist, dass Microsoft damit das neue, modulare .NET klarer von dem alten monolithischen .NET abhebt und vermeidet, dass Entwickler denken, sie könnten ihre Anwendungen von .NET 4.x auf .NET Core "upgraden", was aber oft unmöglich ist und – selbst wenn es möglich ist – sehr viele Änderungen am Code mit sich bringt

Gut ist, dass die Versionsnummern konsistenter werden. .NET Core ist ja bereits im Rahmen der Windows 10 Universal Apps verfügbar (siehe auch meinen Beitrag in iX 2/2016). Und da gibt es ein ".NET Core Runtime-Paket" mit der Versionsnummer 1.0 – wobei die darauf aufbauende Bibliotheken dann eine 4.0 tragen. Und das Ganze zusammen bisher .NET Core 5.0 heißt. Wer sollte das verstehen?

Gut ist, die neue Neunummerierung von unten dem bestehenden .NET "Full" Framework Raum lässt für eine weitere Versionszählung über die Version 4.x hinaus. Das heißt, es könnte ein .NET Framework 5.0 geben im Rahmen der von Microsoft ja auch angekündigten Weiterentwicklung vom .NET Framework 4.6.1.

Schlecht ist aber, dass Microsoft die Änderung erst so spät vollzieht. Schon seit dem 18. November 2015 haben die Produkte den Status "Release Candidate" (RC) mit "Go Live"-Lizenz, also die Erlaubnis zum produktiven Einsatz. Die Namens- und Versionsänderung wird auch wieder zu fehlerhaften Assembly-Referenzen führen bei allen, die schon Code damit geschrieben haben. Und es gibt auch schon gedruckte Publikationen, wo nun die alte Nummer steht (z.B. ein Cheat Sheet zu C# 6.0), und ganz viele Beiträge im Internet, die nun nicht mehr gefunden werden, wenn man nach den neuen Namen sucht.