Microsoft's Portability Analyzer Ensures Apps Work With .NET Core 3.0

The Portability Analyzer tool will help enterprises more easily migrate their applications to the new .NET Core 3.0 specifications.

dev tools

Three months after Microsoft announced that it would be enabling Windows Forms and Windows Presentation Framework (WPF) applications on .NET Core 3.0, the company has released the Portability Analyzer, a tool that can help enterprises ensure that their current and future applications will work properly with the cross-platform, open-source development platform.

The Portability Analyzer is designed to help developers make application porting easier by identifying APIs that are not portable among the various .NET platforms, according to an Aug. 8 post by Olia Gavrysh on the Microsoft .NET Blog. The tool was previously available as a console application and as a Visual Basic extension, but it has been updated with a Windows Forms UI to help users get their applications ready for .NET Core 3.0, she wrote.

By installing and running the tool on a user's code, it will generate an Excel spreadsheet that will report the level of compatibility the project has with .NET Core 3.0, including the specific APIs that are currently unsupported, wrote Gavrysh. The tool will then send that compatibility data to the .NET team at Microsoft so they can determine which APIs are needed by the most users, which will help determine what needs to be supported as quickly as possible and what can wait until the future. Only the data in the spreadsheet that is generated and sent to Microsoft for the analysis is used in the process. None of a user's source code or binaries will be sent from their computer to Microsoft, she added.

"In order for us to know which APIs our users need, we are asking you to run the tool which will help us to provide the best possible experience in porting your apps," wrote Gavrysh wrote. "You, at the same time, will see how portable your apps are right now since the tool generates a list of APIs referenced in your assemblies that might not be supported in .NET Core 3.0.

"We will prioritize adding new APIs in .NET Core 3.0 based on information we collect," she continued. "Please help us help you by making sure your application’s API requirements are represented in the data that we use for prioritization. Please run the Portability Analyzer to ensure that your application is counted."

Back in May, Microsoft announced the upcoming .NET Core 3.0 changes at its Build 2018 developers conference. At that time, the company said the highlight of .NET Core 3 is support for Windows desktop applications, specifically Windows Forms, WPF and UWP XAML. The final version of .NET Core 3.0 is expected sometime in 2019, according to the company.

Until then, Microsoft is continuing to seek feedback from developers on the release so it can make more changes aimed at compatibility and ease of use.

Users will be able to run new and existing Windows desktop applications on .NET Core and gain the benefits of the platform, including application-local deployment and improved performance, wrote Gavrysh. "We want to make sure that .NET Core 3.0 includes all the APIs that your applications depend on," she wrote.

Users can download the Portability Analyzer tool from GitHub and install it by extracting it anywhere onto a local disk. After entering the directory path to a Windows Forms of WPF app, users can click the analyze button and run the analysis, which will give them a report about how portable their apps are for use with NET Core 3.0. The report will be saved to disk and sent to Microsoft for analysis.