Dr. Holger Schwichtenberg 5Minds IT-Solutions GmbH & Co. Kg.

„Es tut sich eine Menge bei .NET Core und das ist auch gut so. Es ist wichtig, dass Microsoft allen Entwicklern ermöglicht, auf .NET Core zu setzen, damit man spätestens 2019 keine neuen Projekte mehr im klassischen .NET Framework beginnen muss.“

Bisher war .NET Core für viele Szenarien kein Thema, einfach weil die notwendigen Klassen fehlten. In .NET Core 2.1 hat Microsoft massiv in der Klassenbibliothek nachgerüstet. Mit .NET Core 3.0 kommen sogar WPF und Windows Forms nach .NET Core – aber nur für Windows. Was das im Detail bedeutet, wird im Folgenden erklärt.

Nachdem .NET Core 2.0 am 14. August 2017 erschien, hatte Microsoft die Version 2.1 für das erste Quartal 2018 angekündigt. Dass dieser Termin nicht zu halten sein wird, wurde dann im Februar 2018 verkündet und als neues Ziel den Sommer 2018 ausgegeben. Aus dem Sommer wurde dann der Frühsommer: .NET Core 2.1 und damit einhergehend ASP.NET Core 2.1 und Entity Framework 2.1 sind am 30. Mai 2018 erschienen.

Windows Compatibility Pack for .NET Core

Ein wesentliches Thema in den 2.1-Versionen ist die Erweiterung der Funktionen, insbesondere durch die Übernahme weiterer Klassen aus dem klassischen .NET Framework. Das Windows Compatibility Pack for .NET Core bringt viele Hundert Klassen aus der bisherigen .NET Framework Class Library als Nuget-Paket in die .NET-Core-Welt. Das Nuget-Paket Microsoft.Windows.Compatibility ist ein Metapaket über viele andere Nuget-Pakete. Enthalten sind folgende Einzelpakete:

  • Win32.Registry (≥ 4.5.0)
  • Win32.Registry.AccessControl (≥ 4.5.0)
  • Win32.SystemEvents (≥ 4.5.0)
  • Windows.Compatibility.Shims (≥ 2.0.0)
  • CodeDom (≥ 4.5.0)
  • ComponentModel.Composition (≥ 4.5.0)
  • Configuration.ConfigurationManager (≥ 4.5.0)
  • Data.DataSetExtensions (≥ 4.5.0)
  • Data.Odbc (≥ 4.5.0)
  • Data.SqlClient (≥ 4.5.0)
  • Diagnostics.EventLog (≥ 4.5.0)
  • Diagnostics.PerformanceCounter (≥ 4.5.0)
  • DirectoryServices (≥ 4.5.0)
  • DirectoryServices.AccountManagement (≥ 4.5.0)
  • DirectoryServices.Protocols (≥ 4.5.0)
  • Drawing.Common (≥ 4.5.0)
  • IO.FileSystem.AccessControl (≥ 4.5.0)
  • IO.Packaging (≥ 4.5.0)
  • IO.Pipes.AccessControl (≥ 4.5.0)
  • IO.Ports (≥ 4.5.0)
  • Management (≥ 4.5.0)
  • Runtime.Caching (≥ 4.5.0)
  • Security.AccessControl (≥ 4.5.0)
  • Security.Cryptography.Cng (≥ 4.5.0)
  • Security.Cryptography.Pkcs (≥ 4.5.0)
  • Security.Cryptography.ProtectedData (≥ 4.5.0)
  • Security.Cryptography.Xml (≥ 4.5.0)
  • Security.Permissions (≥ 4.5.0)
  • Security.Principal.Windows (≥ 4.5.0)
  • ServiceModel.Duplex (≥ 4.4.1)
  • ServiceModel.Http (≥ 4.4.1)
  • ServiceModel.NetTcp (≥ 4.4.1)
  • ServiceModel.Primitives (≥ 4.4.1)
  • ServiceModel.Security (≥ 4.4.1)
  • ServiceModel.Syndication (≥ 4.5.0)
  • ServiceProcess.ServiceController (≥ 4.5.0)
  • Text.Encoding.CodePages (≥ 4.5.0)
  • Threading.AccessControl (≥ 4.5.0)

Die Paketnamen sind angelehnt an die bisherigen Namensräume aus der .NET Framework Class Library. Funktionen wie Registry-Zugriff, Datenbankzugriffe per ODBC, LINQ für DataSets, das Code Document Object Model (CodeDOM), Zugriff auf serielle Ports und LDAP-Server wie das Active Directory sowie die Windows Management Instrumentation (WMI), mit der man Informationen aus dem Betriebssystem und einigen Anwendungen auslesen und verändern kann, halten damit Einzug in die Welt von .NET Core. Freilich sind viele dieser Klassen nur auf Windows möglich, daher auch der Name „Windows“ im Compatibility Pack.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 11.18 - "Kernkompetenz .NET Core"

Alle Infos zum Heft
579860775.NET Core 2.1, 2.2 und 3.0 bringen viele neue Funktionen
X
- Gib Deinen Standort ein -
- or -