No description, website, or topics provided.
C# Visual Basic Other
Latest commit edf5c9d Feb 14, 2017 @heejaechang heejaechang committed on GitHub Merge pull request #1104 from heejaechang/netstandard
moved toolset compiler to latest rc4

.NET Compiler Platform ("Roslyn") Analyzers

This repository contains a number of Roslyn diagnostic analyzers initially developed to help flesh out the design and implementation of the static analysis APIs. They have been migrated from the main dotnet/roslyn repository in order to continue and speed their further development.

Debug Release
Build Status Build Status

Join the chat at



Latest stable version: 1.1.0

Analyzers for APIs specific to the desktop .NET Framework.

More info


Provides analyzers which implement the .NET design guidelines for API authors.

More info


Latest stable version: 1.1.0

Provides guidelines for using .NET Compiler Platform ("Roslyn") APIs.

More info


Contains analyzers specific to the .NET Compiler Platform ("Roslyn") project.

More info


Provides guidelines for using APIs in the System.Collections.Immutable contract.

More info


Latest stable version: 1.1.0

Provides guidelines for using APIs in the System.Runtime contract.

More info


Latest stable version: 1.1.0

Provides guidelines for using APIs in the System.Runtime.InteropServices contract.

More info


Latest stable version: 1.1.0

Provides guidelines for using APIs in the System.Cryptography.Hashing.Algorithms contract.

More info


Created by summer 2015 interns Zoë Petard, Jessica Petty, and Daniel King

The MetaCompilation Analyzer is an analyzer that functions as a tutorial to teach users how to write an analyzer. It uses diagnostics and code fixes to guide the user through the various steps required to create a simple analyzer. It is designed for a novice analyzer programmer with some previous programming experience.

For instructions on using this tutorial, see Instructions.

Getting Started

  1. Clone the repository
  2. Install NuGet packages: powershell -executionpolicy bypass src\.nuget\NuGetRestore.ps1
  3. Build: msbuild src\Analyzers.sln

NOTE The current build of System.Reflection.Metadata (from NuGet package System.Reflection.Metadata.1.2.0-rc2-23629) is unsigned. This causes unit tests to fail. To work around this problem until a new, signed version is available, give the command

sn -Vr System.Reflection.Metadata,B03F5F7F11D50A3A

which will cause the CLR to skip strong name verification for that assembly.

When a properly signed version of this assembly becomes available, reenable strong name verification with the command

sn -Vu System.Reflection.Metadata,B03F5F7F11D50A3A

Submitting Pull Requests

Prior to submitting a pull request, ensure the build and all tests pass using BuildAndTest.proj:

msbuild BuildAndTest.proj

Versioning Scheme for Analyzer Packages

See for the versioning scheme for all analyzer packages built out of this repo.