Skip to content

genlu/roslyn-analyzers

 
 

Repository files navigation

.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 https://gitter.im/dotnet/roslyn

Projects

Desktop.Analyzers

Latest stable version: 1.1.0

Analyzers for APIs specific to the desktop .NET Framework.

More info

Microsoft.ApiDesignGuidelines.Analyzers

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

More info

Microsoft.CodeAnalysis.Analyzers

Latest stable version: 1.1.0

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

More info

Roslyn.Diagnostics.Analyzers

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

More info

System.Collections.Immutable.Analyzers

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

More info

System.Runtime.Analyzers

Latest stable version: 1.1.0

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

More info

System.Runtime.InteropServices.Analyzers

Latest stable version: 1.1.0

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

More info

System.Security.Cryptography.Hashing.Algorithms.Analyzers

Latest stable version: 1.1.0

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

More info

MetaCompilation

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 VERSIONING.md for the versioning scheme for all analyzer packages built out of this repo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 96.3%
  • Visual Basic .NET 2.8%
  • Other 0.9%