© Event Horizon/shutterstock.com, © S&S Media
Windows Developer
WPF und sogar Windows Forms in .NET Core 3.0

Sie sind wieder da!

Zwei Totgesagte leben länger: Nachdem viele .NET-Entwickler nicht nur Windows Forms, sondern auch WPF aufgegeben hatten, sind jetzt beide Desktop-Frameworks in .NET Core 3.0 neu erschienen und erlauben die Migration alter Anwendungen.

Holger Schwichtenberg


In den Versionen 1.0, 1.1, 2.0, 2.1 und 2.2 war das modulare .NET Core auf Webserveranwendungen (MVC, Razor Pages, Web-APIs) und Konsolenanwendungen sowie die eingeschränkten Windows 10 Universal Apps beschränkt. Am 23. September 2019 ist nun .NET Core 3.0 erschienen. Damit kann man eine Reihe weiterer Anwendungsarten erstellen: Hintergrunddienste (Windows Services und systemd für Linux), Googles RPC-Server und -Clients (gRPC), Single Page Web Applications mit ASP.NET Blazor Server und auch klassische Desktopanwendungen mit Windows Forms und WPF auf Basis der neuen .NET Core Desktop Runtime (Abb. 1).

Abb. 1: Die .NET-Familie 2019

Während alle anderen .NET-Core-Anwendungsarten plattformneutral sind, laufen Windows Forms und WPF allerdings nur auf Windows (ab Windows 7 und Windows Server 2012 R2). Microsoft hat zwar den .NET-Teil beider Frameworks auf .NET Core portiert, nicht aber die Basistechniken (GDI, Milcore und DirectX). Bislang gibt es zwar keine konkrete Ankündigung, auch diese zu portieren, um WPF und Windows Forms plattformneutral zu machen, Microsoft schließt aber auf Nachfrage auch nicht aus, dass das in Zukunft passieren könnte.

Funktional fast ganz da

Funktional sollen WPF und Windows Forms in der .NET-Core-Welt ihren Brüdern aus der klassischen .NET-Framework-Welt entsprechen. Bei Windows Forms fehlt aber noch der grafische Designer für Visual Studio. Ihn gibt es seit dem 30. September 2019 als funktionseingeschränkte Vorschauversion [1]. Wer dennoch schon mit Windows Forms in .NET Core arbeiten will, muss die Oberflächen noch in einem klassischen .NET-Framework-Projekt gestalten und das Ergebnis dann in .NET Core verlinken. Ebenso laufen Anwendungen noch nicht in .NET Core, die den Windows-Forms-Designer selbst in sich hosten, um Endanwendern die (Um-)Gestaltung von Formularen zu ermöglichen.

Auch die oft in Windows-Forms- und WPF-Anwendungen eingesetzte Microsoft-ReportViewer-Komponente gibt es noch nicht für .NET Core [2]. Typisierte Data Sets, auch in den alten Welten noch oft im Einsatz, funktionieren in .NET Core 3.0 wegen eines gravierenden Bugs in der System.Data.SqlClient-Bibliothek nur mit aufwendigen manuellen Eingriffen in den generierten Programmcode [3]. Abhilfe für den letzten Punkt soll erst in .NET Core 3.1 gegen Jahresende kommen, auch wenn der Autor dieses Beitrags das Problem fast dreieinhalb Wochen vor dem Erscheinen von .NET Core 3.0 an Microsoft gemeldet hatte. Obwohl ein Fix eine Woche später durch einen Microsoft-Entwi...

Windows Developer
WPF und sogar Windows Forms in .NET Core 3.0

Sie sind wieder da!

Zwei Totgesagte leben länger: Nachdem viele .NET-Entwickler nicht nur Windows Forms, sondern auch WPF aufgegeben hatten, sind jetzt beide Desktop-Frameworks in .NET Core 3.0 neu erschienen und erlauben die Migration alter Anwendungen.

Holger Schwichtenberg


In den Versionen 1.0, 1.1, 2.0, 2.1 und 2.2 war das modulare .NET Core auf Webserveranwendungen (MVC, Razor Pages, Web-APIs) und Konsolenanwendungen sowie die eingeschränkten Windows 10 Universal Apps beschränkt. Am 23. September 2019 ist nun .NET Core 3.0 erschienen. Damit kann man eine Reihe weiterer Anwendungsarten erstellen: Hintergrunddienste (Windows Services und systemd für Linux), Googles RPC-Server und -Clients (gRPC), Single Page Web Applications mit ASP.NET Blazor Server und auch klassische Desktopanwendungen mit Windows Forms und WPF auf Basis der neuen .NET Core Desktop Runtime (Abb. 1).

Abb. 1: Die .NET-Familie 2019

Während alle anderen .NET-Core-Anwendungsarten plattformneutral sind, laufen Windows Forms und WPF allerdings nur auf Windows (ab Windows 7 und Windows Server 2012 R2). Microsoft hat zwar den .NET-Teil beider Frameworks auf .NET Core portiert, nicht aber die Basistechniken (GDI, Milcore und DirectX). Bislang gibt es zwar keine konkrete Ankündigung, auch diese zu portieren, um WPF und Windows Forms plattformneutral zu machen, Microsoft schließt aber auf Nachfrage auch nicht aus, dass das in Zukunft passieren könnte.

Funktional fast ganz da

Funktional sollen WPF und Windows Forms in der .NET-Core-Welt ihren Brüdern aus der klassischen .NET-Framework-Welt entsprechen. Bei Windows Forms fehlt aber noch der grafische Designer für Visual Studio. Ihn gibt es seit dem 30. September 2019 als funktionseingeschränkte Vorschauversion [1]. Wer dennoch schon mit Windows Forms in .NET Core arbeiten will, muss die Oberflächen noch in einem klassischen .NET-Framework-Projekt gestalten und das Ergebnis dann in .NET Core verlinken. Ebenso laufen Anwendungen noch nicht in .NET Core, die den Windows-Forms-Designer selbst in sich hosten, um Endanwendern die (Um-)Gestaltung von Formularen zu ermöglichen.

Auch die oft in Windows-Forms- und WPF-Anwendungen eingesetzte Microsoft-ReportViewer-Komponente gibt es noch nicht für .NET Core [2]. Typisierte Data Sets, auch in den alten Welten noch oft im Einsatz, funktionieren in .NET Core 3.0 wegen eines gravierenden Bugs in der System.Data.SqlClient-Bibliothek nur mit aufwendigen manuellen Eingriffen in den generierten Programmcode [3]. Abhilfe für den letzten Punkt soll erst in .NET Core 3.1 gegen Jahresende kommen, auch wenn der Autor dieses Beitrags das Problem fast dreieinhalb Wochen vor dem Erscheinen von .NET Core 3.0 an Microsoft gemeldet hatte. Obwohl ein Fix eine Woche später durch einen Microsoft-Entwi...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang