Today at Microsoft Connect 2018, the company announced the released of the first preview of .NET Core 3.0. Contained within that is a bigger announcement: the company is releasing WPF, Windows Forms (WinForms), and WinUI as open source projects on GitHub. They have all been released under the MIT license, giving developers wide latitude to use them in their own applications.
This means developers targeting .NET Core 3 can make use of WPF and WinForms today. At present, these technologies are part of the Windows version of the .NET Core SDK and so are not supported on macOS / Linux. Given that these technologies are now open sourced, Windows Desktop applications on .NET Core are one step closer to being supported cross-platform. It is important to realize that the underlying technology in these libraries assumes that Windows is the host OS, so much work remains—whether it is coming from Microsoft or the community-- in order to support cross-platform execution.
Those looking to get started with WPF and WinForms on .NET Core 3 can do so now. Once the .NET Core 3 Preview SDK for Windows has been installed, there will be two new project types available, one each for WPF and WinForms. Simply execute one of the following commands:
dotnet new wpf
dotnet new winforms
From there it's a quick dotnet run
to execute them.
Visual Studio 2017 15.9 can be used to develop WPF and WinForms applications on .NET Core 3, but Microsoft says that the "supported experience" will be provided under a forthcoming update to VS2019. This means that users will have to wait for that update before they will be able to use the familair GUI designer in the IDE but this does not prevent editing/debugging of these applications. Microsoft's Kevin Gallow reports that the WinUI project is beginning their open source journey with the release of the System.Xaml components, with more to come in the coming months. WPF, WinForms, and WinUI are available now on GitHub.