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."
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.
David Ramel is the editor of Visual Studio Magazine.