Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.

Code Quality and Security for C# and VB.NET

Build Status

Product Quality Gate Coverage
Analyzer Quality Gate Coverage
Plugin Quality Gate Coverage

Static analysis of C# and VB.NET languages in SonarQube, SonarCloud and SonarLint code quality and security products. These analyzers allow you to produce safe, reliable and maintainable code by helping you find and correct bugs, vulnerabilities and code smells in your codebase.


  • 380+ C# rules and 130+ VB.​NET rules
  • Metrics (complexity, duplications, number of lines etc.)
  • Import of unit test results from VSTest, NUnit and xUnit
  • Import of test coverage reports from Visual Studio Code Coverage, dotCover, OpenCover, Coverlet and NCover 3.
  • Support for custom rules

Useful links packages

Integration with SonarQube and SonarCloud

Do you have a question or feedback?

Get started

How to contribute

There are many ways you can contribute to the sonar-dotnet project. When contributing, please respect our Code of Conduct.

Join the discussions

One of the easiest ways to contribute is to share your feedback with us (see give feedback) and also answer questions from our community forum. You can also monitor the activity on this repository (opened issues, opened PRs) to get more acquainted with what we do.

Pull Request (PR)

If you want to fix an issue, please read the Get started pages first and make sure that you follow our coding style.

Before submitting the PR, make sure all tests are passing (all checks must be green).

  • We suggest you do not pick issues with the Area: CFG label (they are difficult, can have many side effects and are less likely to be accepted).
  • We suggest you do not implement new rules unless they are already specified for C# and/or VB.NET on our rules repository.

Note: Our CI does not get automatically triggered on the PRs from external contributors. A member of our team will review the code and trigger the CI on demand by adding a comment on the PR (see Azure Pipelines Comment triggers docs):

  • /azp run Sonar.Net.External - unit and integration tests for the analyzer (optional; can be done before the review)
  • /azp run Sonar.Net - full pipeline, including plugin tests and promotion (must be done before merging)

Join us

If you would like to work on this project full-time, we are hiring!

Custom Rules

To request new rules, Contact us on our Community Forum.

If you have an idea for a rule but you are not sure that everyone needs it, you can implement your own Roslyn analyzer.


Copyright 2014-2020 SonarSource.

Licensed under the GNU Lesser General Public License, Version 3.0

You can’t perform that action at this time.