Home
%3CLINGO-SUB%20id%3D%22lingo-sub-318156%22%20slang%3D%22en-US%22%3EDesktop%20development%20features%20of%20.NET%20Core%203.0%20Preview%201%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-318156%22%20slang%3D%22en-US%22%3E%0A%20%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3DUTF-8%22%20%2F%26gt%3B%3CSTRONG%3EFirst%20published%20on%20MSDN%20on%20Dec%2012%2C%202018%20%3C%2FSTRONG%3E%20%3CBR%20%2F%3E%20At%20Connect()%3B%202018%2C%20Announced%20releasing%20.NET%20Core%203.0%20Preview%201.%20In%20this%20release%2C%20it%20has%20very%20interesting%20features%20for%20Windows%20Desktop%20app%20developers.%20%3CBR%20%2F%3E%3CH2%20id%3D%22toc-hId-1705569283%22%20id%3D%22toc-hId-1732377436%22%3EWPF%20and%20Windows%20Forms%20support%3C%2FH2%3E%3CBR%20%2F%3E%20In%20.NET%20Core%203.0%20Preview%201%2C%20We%20can%20use%20WPF%20and%20Windows%20Forms.%20It%20is%20very%20easy.%20You%20just%20type%20below%20commands.%20%3CBR%20%2F%3E%20%3CBR%20%2F%3E%3CCODE%3E%0A%20%20%20dotnet%20new%20wpf%0A%20%20%3C%2FCODE%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20or%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CCODE%3E%0A%20%20%20dotnet%20new%20winforms%0A%20%20%3C%2FCODE%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20The%20commands%20generate%20the%20project%20files.%20The%20below%20screenshots%20are%20opening%20the%20projects%20on%20Visual%20Studio%202019%20Preview.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67985i9C8059B677C8370B%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67987iE8C2A35129B26059%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20Designer%20feature%20isn%E2%80%99t%20yet.%20However%2C%20you%20can%20launch%20the%20apps%20and%20debug%20on%20VS%202019%20Preview.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67988iD4D82D154D73ED0A%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CH2%20id%3D%22toc-hId--846587678%22%20id%3D%22toc-hId--819779525%22%3E%0A%20%20%20Can%20use%20.NET%20Framework%20libraries%3F%0A%20%20%3C%2FH2%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20.NET%20Core%203.0%20supports%20.NET%20Standard%20libraries.%20However%2C%20almost%20all%20WPF%2FWinForms%20apps%20depends%20libraries%20that%20are%20targeted%20.NET%20Framework%2C%20for%20example%3A%20Prism.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20We%20can%20add%20the%20packages%20using%20NuGet%20package%20manager%2C%20however%20the%20below%20warning%20is%20occurred.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67990i682C76ED0EE76A4D%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20In%20this%20case%2C%20you%20can%20check%20the%20compatibility%20using%20.NET%20Portability%20Analyzer.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fstandard%2Fanalyzers%2Fportability-analyzer%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3E%0A%20%20%20The%20.NET%20Portability%20Analyzer%0A%20%20%3C%2FA%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20The%20previous%20link%20describes%20Visual%20Studio%20plugin.%20However%20VS2019%20doesn%E2%80%99t%20support%20the%20extension%20yet.%20You%20can%20download%20the%20CLI%20tools%20from%20below%20link%3A%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FMicrosoft%2Fdotnet-apiport%2Freleases%3Fid%3D42678%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3E%0A%20%20%20Microsoft%2Fdotnet-apiport%20releases%20page%0A%20%20%3C%2FA%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20And%20you%20can%20analyze%20compatibility%20by%20below%20command.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CCODE%3E%0A%20%20%20%22path%20to%20ApiPort.exe%20directory%22%5CApiPort.exe%20analyze%20-f%20.%0A%20%20%3C%2FCODE%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20After%20that%2C%20the%20report%20is%20generated%3A%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67992iF27AB967AC999C7E%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20You%20can%20check%20compatibility%2C%20and%20then%20you%20can%20ignore%20the%20warnings%20on%20the%20properties%20window%20of%20Visual%20Studio%202019%20as%20your%20discretion.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F67994iFB5728AA25CACB14%22%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CH2%20id%3D%22toc-hId-896222657%22%20id%3D%22toc-hId-923030810%22%3E%0A%20%20%20Conclusion%0A%20%20%3C%2FH2%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20.NET%20Core%203.0%20is%20preview%20status%20yet.%20However%2C%20you%20can%20try%20it%20now.%20You%20can%20evaluate%20your%20WPF%2FWinForms%20apps%20on%20.NET%20Core%203.0.%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20.NET%20Core%203.0%20is%20high%20performance%20than%20.NET%20Framework.%20And%20you%20can%20use%20self-contained%20deployment%20feature%20that%20is%20include%20runtime%20to%20your%20deployment%20package.(It%20means%20that%20.NET%20Core%203.0%20doesn%E2%80%99t%20need%20on%20deployment%20target%20machine.)%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fcore%2Fdeploying%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3E%0A%20%20%20.NET%20Core%20application%20deployment%0A%20%20%3C%2FA%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20%3CBR%20%2F%3E%0A%20%20Have%20a%20fun%20programming.%0A%20%0A%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-318156%22%20slang%3D%22en-US%22%3EFirst%20published%20on%20MSDN%20on%20Dec%2012%2C%202018%20At%20Connect()%3B%202018%2C%20Announced%20releasing%20.%3C%2FLINGO-TEASER%3E
Microsoft
First published on MSDN on Dec 12, 2018
At Connect(); 2018, Announced releasing .NET Core 3.0 Preview 1. In this release, it has very interesting features for Windows Desktop app developers.

WPF and Windows Forms support


In .NET Core 3.0 Preview 1, We can use WPF and Windows Forms. It is very easy. You just type below commands.

dotnet new wpf

or

dotnet new winforms

The commands generate the project files. The below screenshots are opening the projects on Visual Studio 2019 Preview.





Designer feature isn’t yet. However, you can launch the apps and debug on VS 2019 Preview.



Can use .NET Framework libraries?



.NET Core 3.0 supports .NET Standard libraries. However, almost all WPF/WinForms apps depends libraries that are targeted .NET Framework, for example: Prism.

We can add the packages using NuGet package manager, however the below warning is occurred.



In this case, you can check the compatibility using .NET Portability Analyzer.

The .NET Portability Analyzer

The previous link describes Visual Studio plugin. However VS2019 doesn’t support the extension yet. You can download the CLI tools from below link:

Microsoft/dotnet-apiport releases page

And you can analyze compatibility by below command.

"path to ApiPort.exe directory"\ApiPort.exe analyze -f .

After that, the report is generated:



You can check compatibility, and then you can ignore the warnings on the properties window of Visual Studio 2019 as your discretion.



Conclusion



.NET Core 3.0 is preview status yet. However, you can try it now. You can evaluate your WPF/WinForms apps on .NET Core 3.0.

.NET Core 3.0 is high performance than .NET Framework. And you can use self-contained deployment feature that is include runtime to your deployment package.(It means that .NET Core 3.0 doesn’t need on deployment target machine.)

.NET Core application deployment

Have a fun programming.