This repo contains .NET Portability Analyzer (VSIX and Console) libraries and tools
Clone or download
conniey Last style cop rule fixes! Part 7 (#714)
* Unsuppressing SA1612-SA1614, SA1616 - SA1620

* Fixing SA1614

* Fixing SA1616

* Fixing some inline declarations

* Unsuppressing SA1621 - SA1628

* Fixing SA1623

* Fixing SA1626

* Unsuppressing SA1629-SA1632, SA1644-SA1652

* Unsuppressing SA1637 - SA1643
Latest commit 190e322 Oct 4, 2018
Failed to load latest commit information.
docs Update changelog for VSIX (#672) Jun 1, 2018
samples/SearchFxApi Moved projects into subfolders by type (#580) Mar 2, 2018
src Last style cop rule fixes! Part 7 (#714) Oct 4, 2018
tests Last style cop rule fixes! Part 7 (#714) Oct 4, 2018
.gitattributes Add md to gitattributes as text Oct 27, 2015
.gitignore Migrate solution to VS2017 (#411) Apr 20, 2017
Directory.Build.props Revert IncludeCodeAnalysisPackages (#552) Jan 26, 2018
Directory.Build.targets Exclude GitVersion if no .git folder is available (#645) May 14, 2018
GitVersion.yml Adding configuration for PRs so it does not fallback to master config… Jan 31, 2018
LICENSE Update License Jun 24, 2015
NuGet.config Update HTML report generation (#538) Jan 4, 2018
PortabilityTools.VisualStudio.Imports.targets Remove ApiPort.VisualStudio.2015 (#624) May 2, 2018
PortabilityTools.sln Produce a DGML graph from the ApiPort data (#695) Sep 25, 2018
PortabilityTools.snk Add strong name signing Aug 10, 2015 Remove ApiPort.VisualStudio.2015 (#624) May 2, 2018
build.cmd Use GitVersion for versioning (#498) Nov 15, 2017
build.ps1 Added ability to detect msbuild version - and set binarylogging if (#597 Mar 29, 2018 Moved projects into subfolders by type (#580) Mar 2, 2018
global.json Update tests to use xunit and kproj Mar 4, 2015
init.ps1 Redirecting catalog.bin download to new storage location. (#544) Jan 12, 2018
netci.groovy Removing Ubuntu14.04 for builds because there are no hosts (#705) Sep 9, 2018
rules.ruleset Last style cop rule fixes! Part 7 (#714) Oct 4, 2018
stylecop.json Adding back in some style-cop rules. Part 1 (#704) Sep 10, 2018

.NET API Portability

This repository contains the source code for .NET Portability Analyzer tools and dependencies.

Branch Build Status

For a quick introduction, check out this video on Channel 9:

Using this Repository


There is a Visual Studio extension available for VS2017: .NET Portability Analyzer

Download and build for yourself:

  1. Install Visual Studio 2017 with .NET Core Workload
  2. Building:
    • Visual Studio: PortabilityTools.sln
    • Powershell: .\build.ps1 -Configuration Debug -Platform AnyCPU


  1. Install .NET Core SDK
  2. Execute:
  3. Go to: bin/Debug/ApiPort/netcoreapp2.0
  4. Run ApiPort by executing: dotnet ApiPort.dll
  • Example: dotnet ApiPort.dll listTargets
  • Example: dotnet ApiPort.dll analyze -f Foo.dll -r HTML
  1. For convenience, create an alias command adding the following to your ~/.bash_profile. Replace {dotnet-apiport-folder} with the path where you cloned the repo.
alias apiport="dotnet {dotnet-apiport-folder}/bin/Debug/ApiPort/netcoreapp2.0/ApiPort.dll"

This will alow you to use apiport globally from the command line: apiport analyze -f Foo.dll -r HTML



Project Description
ApiPort Cross-platform console tool to access portability service
ApiPort.Vsix Visual Studio Extension
Microsoft.Fx.Portability Provides common types for API Port
Microsoft.Fx.Portability.MetadataReader Implements a dependency finder based off of System.Reflection.Metadata. The library will generate DocIds that conform to these specifications.
Microsoft.Fx.Portability.Offline Provides access to data in an offline setting so network calls are not needed
Microsoft.Fx.Portability.Reporting.Excel Provides support for an Excel spreadsheet report for ApiPort
Microsoft.Fx.Portability.Reporting.Html Provides support for an HTML report for ApiPort
Microsoft.Fx.Portability.Reporting.Json Provides support for a JSON reporter for ApiPort


Libraries MyGet
Visual Studio Extension Open VSIX Gallery

How to Engage, Contribute and Provide Feedback

Here are some ways to contribute:

Want to get more familiar with what's going on in the code?

Looking for something to work on? The list of up-for-grabs issues is a great place to start.

Related Projects

For an overview of all the .NET related projects, have a look at the .NET home repository.


This project is licensed under the MIT license.