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 |
---|---|
Latest stable version: 1.1.0
Analyzers for APIs specific to the desktop .NET Framework.
Provides analyzers which implement the .NET design guidelines for API authors.
Latest stable version: 1.1.0
Provides guidelines for using .NET Compiler Platform ("Roslyn") APIs.
Contains analyzers specific to the .NET Compiler Platform ("Roslyn") project.
Provides guidelines for using APIs in the System.Collections.Immutable contract.
Latest stable version: 1.1.0
Provides guidelines for using APIs in the System.Runtime contract.
Latest stable version: 1.1.0
Provides guidelines for using APIs in the System.Runtime.InteropServices contract.
Latest stable version: 1.1.0
Provides guidelines for using APIs in the System.Cryptography.Hashing.Algorithms contract.
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.
- Clone the repository
- Install NuGet packages:
powershell -executionpolicy bypass src\.nuget\NuGetRestore.ps1
- 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
Prior to submitting a pull request, ensure the build and all tests pass using BuildAndTest.proj:
msbuild BuildAndTest.proj
See VERSIONING.md for the versioning scheme for all analyzer packages built out of this repo.