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


  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

  • Visual Studio Devs Quick to Sound Off on Automatic Updates: 'Please No'

    A five-year-old Visual Studio feature request for automatic IDE updates is finally getting enacted by Microsoft amid a lot of initial developer pushback, seemingly misplaced.

  • First Official OpenAI Library for .NET Goes Beta

    Although it seems Microsoft and OpenAI have been deeply intertwined partners for a long time, they are only now getting around to releasing an official OpenAI library for .NET developers, joining existing community libraries.

Subscribe on YouTube