.NET Core 2.0

Eintrag zuletzt aktualisiert am: 24.05.2022

.NET Core 2.0 ist die zweite Hauptversion von .NET Core, die am 14.8.2017 erschienen ist. Weitere Details siehe .NET Core.

Größte Neuerung in .NET Core 2.0 ist die Implementierung der Spezifikation ".NET Standard 2.0", welche Microsoft erst letzte Woche finalisiert hatte [https://www.heise.de/developer/meldung/NET-Standard-2-0-ist-fertig-und-NET-Core-2-0-auf-der-Zielgeraden-3796910.html]. Gegenüber .NET Core 1.1 realisiert .NET Core 2.0 damit rund 19.000 zusätzliche Programmierschnittstellen aus dem ursprünglichen .NET Framework. Damit wird nicht nur die Migration bestehenden Programmcodes auf .NET Core viel leichter, sondern es laufen auch sehr viel mehr bestehende .NET-Softwarekomponenten, die für das klassische .NET Framework geschrieben wurden, auch unter .NET Core. Laut Immo Landwerth [https://www.youtube.com/watch?v=iIlQer4LEac] sind nun 70% der auf Nuget.org verfügbaren Pakete unter .NET Core 2.0 lauffähig, zumal .NET Core nun auch direkt .NET Framework-Pakete referenzieren kann. Auch totgesagte Klassen wie System.Data.DataSet kehren damit in die Welt von .NET Core ein.

.NET Core verwendet den neueren, berühmten und aufgrund seines schweren Bugs in der ersten Version [https://www.heise.de/developer/artikel/Schwerer-Bug-im-Just-In-Time-Compiler-in-NET-4-6-2766352.html] auch berüchtigten Just-in-Time-Compiler RyuJIT nun auch in der 32-bit-Version anstelle des alten JIT32 [https://github.com/dotnet/announcements/issues/10]. RyuJIT wurde für 64-Bit-Systeme in .NET Framework 4.6 eingeführt und auch in .NET Core 1.x im 64-Bit-Modus verwendet. Jetzt, in .NET Core 2.0, kommt RyuJIT in einer beschleunigten Version [https://blogs.msdn.microsoft.com/dotnet/2017/06/29/performance-improvements-in-ryujit-in-net-core-and-net-framework/] für 32- und 64-Bit-Anwendungen zum Einsatz.

Laut Microsoft ist .NET Core 2.0 die schnellste .NET-Implementierung, die es je gab.

Downloads für .NET Core 2.0

Die Downloads zu .NET Core 2.0 (Runtime und Software Development Kits (SDK) für zahlreiche Betriebssysteme) gibt es wahlweise auf Github.com [https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md] oder der offizielle Microsoft-.NET Core-Seite [https://www.microsoft.com/net/download/core#/sdk]. Auch Docker-Images auf Basis von Linux und Windows Nano Server sind verfügbar [https://hub.docker.com/r/microsoft/dotnet/]. Neben den bisher unterstützten Windows-, Linux- und MacOS-Varianten läuft .NET Core nun auch auf Fedora 25/26, Debian 9, Ubuntu 17.04, Linux Mint 18, Suse Enterprise Linux 12 SP2+ und MacOS 10.13 "High Sierra". Die Unterstützung für ARM32-Prozessoren [https://github.com/dotnet/announcements/issues/29] verbleibt vorerst im Preview-Stadium.
.NET Core 2.0 kann neben .NET Core 1.x auf einem System koexistieren. Zu beachten ist aber, dass nach der Installation des .NET Core 2.0 SDK dessen Werkzeuge auch für die .NET Core 1.x-Projekte automatisch verwendet werden, sofern der Entwickler nicht durch einen Eintrag in der global.json-Datei des jeweiligen Dateisystemordners [https://docs.microsoft.com/en-us/dotnet/core/tools/global-json] die explizite Verwendung des älteren SDK erzwingt. Neben C# und F# unterstützt Microsoft nun für die .NET Core-Entwicklung auch Visual Basic .NET. Projektvorlagen liefert Microsoft dafür aber zunächst nur für Konsolenanwendungen und Bibliotheken, bisher nicht für Webprojekte.

Supportende für .NET Core 1.x

Entwickler, die bisher .NET Core 1.0 oder 1.1 einsetzen, müssen beachten, dass der Support längstens noch bis zum 27.06.2019 läuft. Er kann sogar früher enden, wenn Microsoft .NET Core 2.0 zur Long Term Support (LTS)-Version erklärt. Das ist noch nicht erfolgt. Sobald diese Statuserklärung aber erfolgt, haben .NET Core 1.x dann nur noch ein Jahr Zeit für den Umstieg auf Version 2.0.

Visual Studio 2017 Update 3

Für die Entwicklung mit .NET Core 2.0 ist das ebenfalls heute veröffentlichte Visual Studio 2017 Update 3 (siehe [https://blogs.msdn.microsoft.com/visualstudio/2017/08/14/visual-studio-2017-version-15-3-released/]) notwendig. Dies ist die erste Version von Visual Studio, die den Parallelbetrieb mehrerer verschiedener .NET Core-SDKs, .NET Core in Windows-Nano-Server-basierten Docker-Containern (bisher legte Visual Studio immer nur Linux-basierte Container an, vgl. [https://www.heise.de/developer/artikel/Windows-und-Linux-basierte-Docker-Container-auf-Windows-nutzen-Teil-2-von-2-3747615.html?seite=2]) sowie das Live-Unit-Testing von .NET Core-Anwendungen unterstützt. Weiterhin braucht ein Entwickler für das Live-Unit-Testing die teure Enterprise-Version von Visual Studio. .NET Core 2.0 lässt sich auch mit Visual Studio for Mac [https://www.visualstudio.com/vs/visual-studio-mac/] in der heute erschienen Version 7.1 verwenden.