News

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 at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube