Tool Checks Desktop App Readiness for .NET Core 3.0

The upcoming .NET Core 3.0 will be a "huge" step forward in the Microsoft development world, says the company, in part because it will support Windows desktop apps. To prepare, Microsoft released a tool to help developers check if their Windows Forms and Windows Presentation Framework (WPF) applications are ready for the new platform.

.NET Core 3.0, which is expected to be previewed later this year before officially shipping in 2019, will provide many benefits to Windows desktop developers, noted exec Scott Hanselman, who opined "this is huge" in a blog post earlier this year.

While the benefits of .NET Core 3.0 include cross-platform functionality that supports Linux and macOS, that doesn't translate to WinForms or WPF applications, which for technical reasons must remain Windows-only. Rather, Microsoft's Immo Landwerth noted, the main benefit of supporting Windows desktop applications in .NET Core 3.0 is a "drastically better deployment solution."

Desktop App Modernization
[Click on image for larger view.] Desktop App Modernization (source: Microsoft).

That was detailed by Hanselman back in May, who noted desktop applications can be compiled to a single .exe file, becoming self-contained and eliminating many installation headaches. Furthermore, developers will have total control of self-contained WinForms/WPF applications for things like updates, which are system-wide for .NET Framework and Windows and can be problematic for legacy apps. Developers will be able to code .NET Core 3.0 apps in C#, F# and VB and leverage new features of those languages sooner, Microsoft says, and in addition to application-local deployment, developers will also be able to enjoy improved performance with .NET Core 3.0 APIs.

So, to help developers ensure their desktop app APIs are supported in .NET Core 3.0, Microsoft last week unveiled the Portability Analyzer, which will also help the company shape the platform before final release.

"We want to make sure that .NET Core 3.0 includes all the APIs that your applications depend on," the company's Olia Gavrysh said in a blog post. "So, in order to learn about which APIs are being used, we are releasing Portability Analyzer that will report the set of APIs referenced in your apps that are not yet available in NET Core 3.0. This API list will be sent to Microsoft and will help us prioritize which APIs we should incorporate to the product before it ships."

The open source Portability Analyzer -- available here (clicking link triggers download) -- simplifies the application porting experience by identifying APIs that are not portable among the different .NET platforms. While it has been available for a few years as a console application and a Visual Studio extension, it was recently updated with a Windows Forms UI.

After identifying specific unsupported APIs in an Excel spreadsheet, the tool will send that list of APIs to Microsoft to help the company prioritize APIs that should be available to developers.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • Blazor's Future: gRPC Is Key

    Blazor guru Steve Sanderson detailed what Microsoft is thinking about the future of the revolutionary project that enables .NET-based web development using C# instead of JavaScript, explaining how gRPC is key, along with a new way of testing and a scheme for installable desktop apps.

  • Don't Do It All Yourself: Exploiting gRPC Well Known Types in .NET Core

    If you're creating business services that send dates and decimal data then you may be concerned that gRPC services don't support the relevant data types. Don't Panic! There are solutions. Here's how to use them.

  • Sign

    Microsoft Points Blazor to Native Mobile Apps

    Blazor, the red-hot Microsoft project that lets .NET developers use C# for web development instead of JavaScript, is now being pointed toward the mobile realm, targeting native iOS and Android apps.

  • Circl

    Implementing State in .NET Core gRPC Messages with oneof

    In the real world, you've been dealing with the State pattern every time you designed a set of database tables. The Protocol Buffers specification lets you do the same thing when you define the messages you send and receive from your gRPC Web Service.

  • C#, .NET and SQL Server Make List of Top In-Demand Programming Skills

    Microsoft-centric technologies are featured prominently in a new examination of the top in-demand programming skills published by careers site

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events