Wednesday, August 06, 2014

How portable is your application? - The .NET Portability Analyzer knows...

Beth Massi - Channel 9 Interview - Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

A couple weeks ago when I was up in Redmond I had the pleasure of interviewing some interns on the .NET team to talk about their experience as an intern at Microsoft and to show off the projects they are working on.

In this first interview I sit down with Charles Lowell, a Software Development Engineer in Test. He has been working on a cool Visual Studio extension called the .NET Portability Analyzer. As developers need to target more and more platforms this tool can be a big help in analyzing how portable your .NET code is. It gives you a quick overview of the changes that you would need to make in order to be able to port your code to a given platform. 

Watch: Fun with the Interns: Charles Lowell on the .NET Portability Analyzer



.NET Framework Blog - Leveraging existing code across .NET platforms

Today we are happy to announce the alpha release of the .NET Portability Analyzer extension for Visual Studio. Please try it out. This add-in was created by our software developer intern Charles Lowell.

Over the last few years, consumers and enterprise employees are using more devices than before which run different operating systems like iOS, Android, Windows Phone, and Windows 8. As a result developing apps for different platforms is almost a requirement now. With the release of the .NET Portability Analyzer extension we are integrating the ability to reason about portability of your existing code into your development environment. This will allow you an easy way to understand how portable your code is and get recommendations to write your code so that your code just works across platforms.

You may have seen Tech Ed 2014 announcements & .NET blog post on “Targeting Multiple Platforms”. This post continues from there.

Understanding portability with Visual Studio

In our previous post we introduced the command line .NET Portability Analyzer. However, we felt that the acquisition and discovery of the tool for developers would be aided if we were to integrate the experience into VS. Additionally the integration into Visual Studio allows us to pinpoint the source locations where incompatible APIs are found to be. You can download it here. ...




Wrapping Up

Using this tool enables you to quickly get a high level understanding of the work that needs to be done to port to a given platform. While it may appear that you would need to do work every time that you want to target a new platform, we on the .NET framework team are working to enable a vision of single .NET surface area. Our goal is to have parity across the APIs that we expose on our Modern framework stacks. The only reason for a missing API would be its lack of applicability to a given application model or platform.

The introduction of the Visual Studio extension makes it easy to reason about the migrating of code to a new platform. Depending on what your business requirements are you can easily prioritize and understand the costs of supporting a new platform. In addition this tool give us insights into the biggest pain points that you face when migrating your code. We would love to hear your feedback on how to make this tool better! Please let us know what you think by either leaving a comment on this post or reaching out to the team at

Visual Studio Gallery - .NET Portability Analyzer

How portable is your application?

The .NET Portability Analyzer helps you determine how flexible your application is across .NET platforms.


· Analyze assemblies for compatibility with your target platforms

       Get a report gauging the portability of your application:



Need I really say more?

No comments: