Änderungen in ASP.NET Core 2.0 und veraltete Dokumentation

Der Dotnet-Doktor  –  6 Kommentare

Microsoft ändert - auch nach einer mehr als zweijährigen Betaphase - nun zwischen Hauptversionen immer noch Konzepte in ASP.NET Core. Selbst einen Monat nach Erscheinen von ASP.NET Core 2.0 ist die Dokumentation an vielen Stellen auf dem Stand von Version 1.x.

Die öffentliche Betaphase von ASP.NET Core hat mehr als zwei Jahre gedauert (von Mai 2014 bis Juni 2016). In dieser Zeit hat Microsoft viele Konzepte immer wieder geändert. Und wir hatten gehofft, dass Microsoft mit ASP.NET Core 1.0 (27. Juni 2016) einen endgültigen Stand erreicht hat, der nun lange Bestand hat. Diese Hoffnung wird leider bei näherer Betrachtung von ASP.NET Core 2.0 enttäuscht (erschienen am 14. August 2017).

In ASP.NET Core 2.0 wirft Microsoft einige Konzepte abermals über den Haufen. Gravierend sind die Änderungen insbesondere im Bereich Authentifzierung und Benutzerverwaltung: Während Authentifzierung und Benutzerverwaltung in ASP.NET Core 1.x als Middleware realisiert waren, kommen in Version 2.0 Services zum Einsatz (vgl. Migrationsdokument).

Das ist sehr unschön, denn Entwickler, die ASP.NET Core 1.x eingesetzt haben, müssen nun für Version 2.0 schon wieder migrieren, zumal die .NET-Core-Versionen ja auch nicht mehr die 10-jährige Unterstützung der klassischen .NET-Versionen haben. Entwickler, die bisher ASP.NET Core 1.0 oder 1.1 einsetzen, müssen beachten, dass der Support noch maximal bis zum 27. Juni 2019 läuft. Er kann sogar früher enden, wenn Microsoft .NET Core 2.0 zur Long-Term-Support-Version (LTS) erklärt. Das ist noch nicht erfolgt. Ab dieser Statuserklärung haben Nutzer von .NET Core 1.x nur noch ein Jahr Zeit für den Umstieg auf Version 2.0.

Erschwerend kommt hinzu: Auch über einen Monat nach Erscheinen von ASP.NET Core 2.0 ist die Dokumentation von ASP.NET Core an vielen Stelle noch auf dem Stand von Version 1.x.

Dies betrifft vor allem die Themen Authentifzierung und Benutzerverwaltung. So steht in der Dokumentation man soll UseIdentity() verwenden. Das aber gibt es in ASP.NET Core 2.0 nicht mehr. An diese Stelle tritt AddIdentity(). Screenshots in der Dokumentation zeigen noch ASP.NET Core 1.1.

Auch die API-Referenz zu ASP.NET Core ist nicht auf dem aktuellen Stand. Die dort dokumentierte Klasse AuthenticationHandler<TOptions> gibt es in ASP.NET Core 2.0 nicht mehr. Die Klasse hat nun keinen Typparameter mehr.

Das erschwert die Verwendung von ASP.NET Core 2.0 zusätzlich.

Fairerweise muss man anmerken, dass inkompatible Hauptversionen und dem Entwicklungsstand hinterherhinkende Dokumentationen nicht nur bei Microsoft vorzufinden sind. Die früher mal wichtige Kompatibilität erachten viele Softwarekomponentenhersteller heutzutage nicht mehr als wichtig. Offensichtlich denken Sie, dass alle Unternehmen genug Entwickler und Geld haben, um ständig ihre Software anzupassen.