.NET (Plattform)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Mai 2021 um 18:36 Uhr durch Mshobohm (Diskussion | Beiträge) (Dotnet 6 Preview 4 ist erschienen; Belege sind bereits im Text). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
.NET

Basisdaten

Entwickler Microsoft
Erscheinungsjahr 2016
Aktuelle Version 9.0.1[1]
(14. Januar 2025)
Aktuelle Vorabversion 6.0 Preview 4[2]
(25. Mai 2021)
Betriebssystem Linux, macOS, Windows
Programmier­sprache vorwiegend C#
Lizenz MIT
docs.microsoft.com/de-de/dotnet/core

.NET, bis 2020 .NET Core, ist eine freie und quelloffene Software-Plattform (innerhalb) der .NET-Plattform, die zur Entwicklung und Ausführung von Anwendungsprogrammen dient und unter der Koordination von Microsoft entwickelt wird.

.NET Core wurde mehrere Jahre als Modernisierungsprojekt von zentralen Komponenten des .NET Frameworks entwickelt und bildet jetzt als .NET, gegenwärtig in der Version 5, den Nachfolger des bisherigen monolithischen .NET Framework, dessen voraussichtlich letzte Version die Version 4.8 ist wie auch den Nachfolger der vorherigen .NET-Core-Version 3.1.4.

Bestimmte API-Lücken gegenüber dem klassischen .NET werden nur durch Windows-spezifische Zusatzpakete geschlossen (z. B. Microsoft.Windows.Compatibility). Das betrifft auch die im September 2019 im Rahmen der .NET Core Version 3.0 freigegebenen grafischen Benutzeroberflächen Windows Forms und WPF.[3][4]

Bibliotheksfunktionen können kompatibel für die bisherigen .NET-Plattformen entwickelt werden, indem sie als Zielframework .NET Standard 2.0 verwenden.

Geschichte

Versionsgeschichte
Version Datum
1.0 RC 1 18. Nov. 2015
1.0 RC 2 16. Mai 2016
1.0 27. Juni 2016[5]
1.0.16 (EoL)[6] 14. Mai 2019
1.1 17. Nov. 2016
1.1.13 (EoL)[6] 14. Mai 2019
2.0 14. Aug. 2017
2.0.9 (EoL)[6] 10. Juli 2018
2.1 30. Mai 2018
2.1.18 (LTS)[6] 12. Mai 2020[7]
2.2 4. Dez. 2018
2.2.8 (EoL)[6] 19. Nov. 2019[8]
3.0 23. Sep. 2019
3.0.3 (EoL) 18. Feb. 2020
3.1 3. Dez. 2019
3.1.4 (LTS)[9] 12. Mai 2020
5.0 10. Nov. 2020

.NET Core wurde erstmals im Mai 2014 angekündigt, und zwar unter dem Namen Cloud-optimized .NET Framework. Es folgten die Alpha- und Beta-Variante, bis im November 2015 der erste Release Candidate erschien, womit Anwendungen für den Produktivbetrieb entwickelt werden dürfen. Dieser Release Candidate erhielt den Namen .NET Core 5, wobei die 5 die Fortsetzung der Versionsnummerierung des .NET Frameworks bedeutet.[10] Im Januar 2016 wurde von Seiten Microsofts allerdings angekündigt, diese Nummerierung dahingehend zu ändern, dass .NET Core in seiner ersten Version beginnend mit 1 nummeriert wird.[11] Am 27. Juni 2016 wurde die Version 1.0 veröffentlicht.[5] Die erste offizielle Version der Softwareentwicklungswerkzeuge erschien am 7. März 2017. Am 14. August 2017 erschien die Version 2.0 mit umfangreichen Ergänzungen der APIs zur Angleichung an das bisherige .NET Framework bzw. den festgelegten .NET Standard 2.0. Die am 30. Mai 2018 erschienene Version 2.1 enthält Unterstützung für weitere Architekturen, zusätzliche Anweisungen im SDK und Performance-Verbesserungen.[12][13] Diese Version wurde auch zur LTS-Version erklärt, die mindestens bis 21. August 2021 unterstützt wird.[14]

Am 23. September 2019 erschien die Version 3.0 mit umfangreichen Verbesserungen wie der Verwendung der neuen C#-Version 8.0, F# 4.7, der Unterstützung von Desktop-Oberflächen in Form von Zusatzpaketen, Performance-Verbesserungen[15], AOT-Kompilierung als ReadyToRun-Images zur Reduzierung von Initialisierungszeiten.[16] Zusätzliche Möglichkeiten gab es auch beim auf .NET Core 3 basierenden ASP.NET Core wie das neue Server Side Blazor-Framework und die Unterstützung von gRPC.[17][18] Verbesserungen gab es auch beim Entity Framework Core.[19] Die Version 3.1 ist als LTS-Version konzipiert und enthält eine Reihe von Fehlerbehebungen und Verbesserungen, insbesondere bei Windows Desktop und dem neuen Blazor Framework. Neu ist die Unterstützung von C++/CLI (nur unter Windows).[20]

Im November 2020 wurde dann .NET 5 als Nachfolger zu .NET Core und (nur eingeschränkt kompatibel) zu .NET 4.8 freigegeben.

Seit Dezember 2020 werden die Updates auf Windows für .NET 5 und .NET Core als "Microsoft Updates" unter bestimmten Voraussetzungen automatisch ausgeliefert.[21]

Unterstützte Betriebssysteme und Architekturen

Das Software-Development-Kit wird auf folgenden Architekturen unterstützt: Windows (ab Version 7, für x86, x64 und ARM mit 32 Bit), macOS (ab 10.12) und verschiedene Linux-Distributionen (für x64 sowie ARM, letztere mit 32- und 64-Bit-Unterstützung).[8][22] Auch für Docker und Snappy gibt es offizielle Images.[23][24]

Entwicklung

Entwicklungsumgebungen

.NET-Anwendungen lassen sich unter folgenden Entwicklungsumgebungen entwickeln:

Programmiersprachen

Als Programmiersprachen für .NET werden C#, F# und VB auf allen oben genannten Betriebssystemen unterstützt, unter Windows zusätzlich noch C++/CLI.[28][29][30]

Ähnlich wie beim klassischem .NET-Framework sind weitere Sprachen implementierbar. So entwickelt Iolevel, eine tschechische Firma, mit dem PeachPie-Compiler einen PHP-Compiler für .NET sowie eine dazu passende Visual Studio Erweiterung. Im März 2021 wurde die Version 1 freigegeben.[31][32][33]

Bereitstellung

.NET kennt verschiedene Arten der Veröffentlichung und Bereitstellung. Die framework-abhängigen Methoden setzten die Installation einer passenden Version des Laufzeitsystems auf dem Zielrechner voraus. Bei der eigenständigen Bereitstellung werden die benötigten Teile des Laufzeitsystems gemeinsam mit der Anwendung in einem Verzeichnis bereitgestellt, passend für Betriebssystem und Architektur des Zielrechners.[34]

Anwendungsgebiete

.NET selbst ist ohne Zusatzpakete für Konsolenanwendungen und ASP.NET Core/5 (automatisch integriertes Zusatzpaket) verwendbar.[35]

Durch Zusatzpakete, die in einer sehr großen Anzahl auf nuget.org verfügbar sind[36], lässt sich die Basis-Funktionalität des Framework erheblich erweitern. Einsatzgebiete bei denen .NET Core/5 einen zentralen Bestandteil darstellt, sind beispielsweise

  • Universal Windows Platform (UWP)
  • Xamarin.Forms für UWP
  • Klassenbibliotheken für den .NET Standard[37]
  • Cross-Plattformentwicklung mit GTK#[38]
  • Plattformunabhängige Benutzeroberflächen mit Avalonia UI[39]
  • Ab Version 3 Windows-Desktop Oberflächen mit WPF, Winforms oder UWP
  • PHP Entwicklung mit Peachpie

Langfristig gesehen werden wohl die allermeisten Einsatzszenarien, bei denen das frühere .NET-Framework verwendet wurde, auch mit .NET (ergänzt um Zusatzpakete) realisiert werden können.

Bestandteile

Die wichtigsten Komponenten von .NET Core und 5 sind:[40]

  • die Laufzeitumgebung mit den Klassenbibliotheken
  • die Laufzeitumgebung und Klassen für ASP.NET Core bzw. 5 (seit Core Version 3.0 fester Bestandteil)
  • das .NET Core bzw. das .NET 5 SDK

Ist das SDK installiert, so können zahlreiche Aufgaben der Softwareentwicklung mit dem Kommando dotnet erledigt werden, z. B. dotnet build – also (englisch für) „[das] Übersetzen der Anwendung“.[41]

Kritiken

Lehrbücher

Einzelnachweise

  1. dotnet.microsoft.com. (abgerufen am 14. Januar 2025).
  2. Download .NET 6.0 (Linux, macOS, and Windows). Abgerufen am 9. April 2021 (englisch).
  3. Holger Schwichtenberg: Build 2018: Microsoft kündigt Windows-Desktopprogrammierung für .NET Core 3.0 an. Heise online, 8. Mai 2018
  4. Rich Lander: Announcing .NET Core 3 Preview 1 and Open Sourcing Windows Desktop Frameworks. In: DevBlogs. Microsoft, 4. Dezember 2018, abgerufen am 24. April 2020 (amerikanisches Englisch).
  5. a b .NET Core: Microsofts plattformunabhängiges Entwicklungs-Framework erreicht Version 1.0. Heise, 27. Juni 2016
  6. a b c d e Download .NET Core. Microsoft, zuletzt geändert am 24. Juli 2019 (englisch)
  7. .NET Core official support policy. Abgerufen am 15. Mai 2020 (englisch).
  8. a b Download .NET Core 2.2. Microsoft, zuletzt geändert am 24. Juli 2019 (englisch)
  9. .NET Core official support policy. Abgerufen am 15. Mai 2020 (englisch).
  10. Holger Schwichtenberg: connect();: .NET Core 5 und ASP.NET 5 erreichen Go-Live-Status. Heise, 18. November 2015
  11. Alexander Neumann: .NET Core 1.0 und ASP.NET Core 1.0: Versionswechsel impliziert Neuanfang. Heise, 20. Januar 2016
  12. dotnet/core. Abgerufen am 31. Mai 2018 (englisch).
  13. Performance Improvements in .NET Core 2.1. (microsoft.com [abgerufen am 31. Mai 2018]).
  14. .NET Support Policy. Abgerufen am 14. Dezember 2018 (englisch).
  15. Performance Improvements in .NET Core 3.0. 15. Mai 2019, abgerufen am 12. Oktober 2019 (amerikanisches Englisch).
  16. Announcing .NET Core 3.0. 23. September 2019, abgerufen am 12. Oktober 2019 (amerikanisches Englisch).
  17. ASP.NET Blog | ASP.NET Core and Blazor updates in .NET Core 3.0. 23. September 2019, abgerufen am 12. Oktober 2019 (amerikanisches Englisch).
  18. ASP.NET Blog | gRPC vs HTTP APIs. 18. November 2019, abgerufen am 28. November 2019 (amerikanisches Englisch).
  19. Announcing Entity Framework Core 3.0 and Entity Framework 6.3 General Availability. 23. September 2019, abgerufen am 12. Oktober 2019 (amerikanisches Englisch).
  20. Home repository for .NET Core. Contribute to dotnet/core development by creating an account on GitHub. .NET Platform, 3. Dezember 2019, abgerufen am 3. Dezember 2019.
  21. .NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update. 3. Dezember 2020, abgerufen am 8. Dezember 2020 (amerikanisches Englisch).
  22. .NET Core 2.2 – Supported OS versions. GitHub, zuletzt geändert am 12. Juni 2019 (englisch)
  23. Microsoft: Official images for .NET Core and ASP.NET Core for Linux and Windows Nano Server. 30. Mai 2018, abgerufen am 31. Mai 2018 (englisch).
  24. Install .NET Core SDK for Linux using the Snap Store. Abgerufen am 1. März 2019 (englisch).
  25. anzhou: Visual Studio 2019 System Requirements. Abgerufen am 11. November 2020 (amerikanisches Englisch).
  26. Amy Burns: Einführung in Visual Studio für Mac. Abgerufen am 15. September 2017.
  27. heise online: Update für .NET-Tools: JetBrains aktualisiert ReSharper und Rider. Abgerufen am 15. Dezember 2020.
  28. Announcing .NET Core 2.0 Preview 1, 10. Mai 2017
  29. F# and .NET Core Roadmap Update, 14. August 2017
  30. .NET Core 3.1 erscheint mit Long-term Support. In: heise online. Abgerufen am 4. Dezember 2019.
  31. PeachPie Documentation. Abgerufen am 7. September 2020.
  32. peachpiecompiler/peachpie. PeachPie Compiler Platform, 6. September 2020, abgerufen am 7. September 2020.
  33. heise online: PHP-Compiler für .NET: PeachPie erreicht Version 1.0. Abgerufen am 16. März 2021.
  34. rpetrusha: .NET Core Anwendungsbereitstellung – .NET Core. Abgerufen am 23. Juni 2019 (deutsch).
  35. Rich Lander: Leitfaden für .NET Core. Abgerufen am 22. August 2017.
  36. NuGet Gallery | Home. Abgerufen am 16. März 2021 (englisch).
  37. Bill Wagner: Erstellen einer .NET Standard-Klassenbibliothek mit C# und .NET Core in Visual Studio 2017. Abgerufen am 20. November 2017.
  38. .NET wrapper for Gtk and other related libraries. Contribute to GtkSharp/GtkSharp development by creating an account on GitHub. GtkSharp, 10. August 2019, abgerufen am 10. August 2019.
  39. Avalonia UI Framework – Release. Abgerufen am 18. Dezember 2018.
  40. mairaw: Weitere Informationen zu .NET Core. Abgerufen am 4. Dezember 2019 (deutsch).
  41. Maira Wenzel: Tools für die .NET Core-Befehlszeilenschnittstelle (command-line interface, CLI). Abgerufen am 26. September 2017.