Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »


C# Plugins Ecosystem


Fabrice Bellingard (SonarSource), Alexandre Victoor, Jose CHILLAN


Latest Version

Not released yet





Not released yet

Description & features

The goal of the C# plugins ecosystem is to make C# a first-class citizen in Sonar - like Java can be. For that purpose, the ecosystem consists of several plugins:

  • C# Core : the core plugin that defines API used by every other plugin in the ecosystem
  • C# Squid : the plugin that parses C# code source, computes metrics and detects copy-paste (distributed by SonarSource as a freeware)
  • C# FxCop : the plugin launches FxCop analyses to detect coding violations relating to potential bugs, tight coupling, globalization, ...
  • C# StyleCop : the plugin launches StyleCop analyses to detect coding violations primarily relating to coding style (formatting, comments, ...)

Installation & global settings

You need to install at least the C# Core plugin to be able to use the other plugins. You may proceed either by downloading the JARs and copying them into the "/extensions/plugins" folder of Sonar, or more simply by using the Update Center in Sonar admin console.

After installing the JARs, and depending on which plugins you selected, you will have to log into Sonar "System Settings" web page and set up the following properties for each plugin:

  • C# Core: ".NET SDK Directory"
  • C# FxCop: "FxCop executable"
  • C# StyleCop: "StyleCop install directory"

Once this is done, you have to create the required configuration file for your project.

Project configuration file

Note for Sonar newbies: in order to allow Sonar to analyse your C# code base, you need to write a configuration file that gives Sonar information about your project. This configuration file may be of different type, depending on which runner you will use to launch the analysis.

Here are 2 examples of project configuration files with minimal settings:

With the simple Java runner

With Maven

  • No labels