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.
Pre-release builds are available on MyGet gallery: https://dotnet.myget.org/Gallery/roslyn-analyzers.
Windows Debug | Windows Release | |
---|---|---|
master |
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.
Latest stable version: 2.6.0
Provides guidelines for using .NET Compiler Platform ("Roslyn") APIs.
Latest stable version: 2.6.0
Provides common code quality guidelines.
Latest version: Not Yet Available
Experimental package based on Dataflow Analysis to provide code quality guidelines in executable code.
Latest stable version: 2.6.0
Analyzers for APIs specific to .NET Core.
Latest stable version: 2.6.0
Analyzers for APIs specific to the desktop .NET Framework.
Latest stable version: 2.6.0
Contains analyzers specific to the .NET Compiler Platform ("Roslyn") project.
Latest stable version: 2.6.0
Contains analyzers for text included in code, such as comments.
- Clone the repository
- Restore and build:
build.cmd
- Execute tests:
test.cmd
Prior to submitting a pull request, ensure the build and all tests pass using using steps 2 and 3 above.
See VERSIONING.md for the versioning scheme for all analyzer packages built out of this repo.
Recommended Visual Studio Version: Visual Studio 2017 15.5 Preview5, RTW or later
Recommended Analyzer Package Version: Version 2.6.0, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/2.6.0
Due to the fact that large number of our analyzers were based on the not-yet-shipped IOperation APIs in Roslyn, they were in beta stage and tied to a specific compiler/Visual Studio version. IOperation API shipped in Visual Studio 2017 15.5 Preview5, and we have released fully supported version 2.6.0 analyzer packages that should work on all future compiler/Visual Studio versions. Please use the following guidelines when choosing the version of analyzer packages to use on a specific version of Visual Studio/compiler toolset:
- Visual Studio 2015 RTW: Analyzer package Version 1.0.1, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/1.0.1
- Visual Studio 2015 Update 1: Analyzer package Version 1.1.0, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/1.1.0
- Visual Studio 2015 Update 2 and 3: Analyzer package Version 1.2.0-beta2, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/1.2.0-beta2
- Visual Studio 2017 RTW (15.0), 15.1 and 15.2: Analyzer package Version 2.0.0-beta2, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/2.0.0-beta2
- Visual Studio 2017 15.3: Analyzer package Version 2.3.0-beta1, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/2.3.0-beta1
- Visual Studio 2017 15.5 Preview5, RTW or later: Analyzer package Version 2.6.0, for example https://www.nuget.org/packages/Microsoft.CodeAnalysis.FxCopAnalyzers/2.6.0
On Visual Studio 2017 15.5 and later releases, you can also install a custom Microsoft Code Analysis VSIX containing these analyzers as a Visual Studio extension for all your managed projects. See details here: https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.MicrosoftCodeAnalysis2017