The C# Ecosystem is a
The C# Ecosystem offers the following pluginsset of plugins. They are all installed as part of the ecosystem, but not all of them will necessarily be used:
- Mandatory plugins:
- the core plugin that defines API used by every other plugin in of the ecosystem. :
- the plugin that parses C# code source, computes metrics and detects copy-paste, detects duplications, etc.
- Optional plugins adding features from external tools:
- launches runs FxCop analyses to detect violations relating issues related to potential bugs, tight coupling, globalization, etc. :
- launches runs Gendarme analyses to detect violations relating issues related to coding bad practices, smell detection, performance, etc. :
- launches runs Gallio to run tests and gets execution report execute unit/integration tests as well as code coverage report tool (using PartCover or OpenCover or NCover or ...). :
- launches runs a dependency parser tool, built on Mono Cecil, to get dependency data between assemblies and classes. :
- launches runs StyleCop analyses to detect violations issues mainly relating related to coding style (formatting, comments, ...). :
Installing C# Ecosystem
- Your C# code base must be developed with Visual Studio, and thus must contain a ".sln" file (.NET Solution).
- If you want test metrics, unit tests must be isolated from the main code base in dedicated Visual Studio Projects. Also the test framework must be compatible with Gallio.
Supported versions are:
Up to 4.0
2.0, 3.5 and 4.0
3 and 4
Tested with VS 2008 and VS 2010 ".sln" files.
Older versions may also be supported (feel free to give feedback)
Installing the C# Ecosystem Plugins
- Install the .NET and C# plugins from the Update Center or download them into the SONARQUBE_HOME/extensions/plugins directory
- Restart the Sonar SonarQube server
Depending on which plugins you chose to install, you may need to install the corresponding external tools. If you can, we advise you to install the same versions as the one we use for testing (i.e. the one in bold in the below table).
|title||Where to Install the External Tools|
External Components on Client Machine(s) Running Analyses
Some external components have to be installed on the Windows boxes where analyses are performed. Since it is recommended that you install the SonarQube server and the client(s) on different machines, this means you can run the SonarQube server on a Linux box and run the analyses on Windows boxes.
Installing .NET SDK (mandatory)
Depending on your projects, install the right version(s) of the .NET SDK. Then, log in to SonarQube as a System administrator and go to Settings > General Settings > .NET and set the
sonar.dotnet.X.Y.sdk.directory properties: absolute path to the .NET SDK X.Y installation directory.
Installing Silverlight Framework (optional)
If your projects embeds Silverlight code, Silverlight has to be installed. Depending on your projects, install the right version(s) of Silverlight. Then, log in as a System administrator and go to Settings > General Settings > .NET and set the
sonar.silverlight.X.mscorlib.location properties: absolute path to the core assembly for Silverlight X framework.
Installing External Tools
Install required if corresponding plugin selectedis installed?
Web site / download / install guideWebsite
Supported versions version (Tested one in bold)
Requires .NET SDK 4.0 to be installed. However, the installer
How to pull the installer out of one of the complete iso's:
NO, StyleCop 4.7 binaries are embedded in the plugin.
NO, Gendarme 2.10 binaries are embedded in the plugin.
3.1 Update 2 + (3.2.3)
YES if you want to use PartCover as the coverage engine.
2.2, 2.3 and 4.0 (4.0)
YES if you want to use NCover as the coverage engine
YES if you want to use OpenCover as the coverage engine.OpenCover is preferred to PartCover.
Requires .NET SDK 4.0 to be installed.
1.0.X, 2.0.X (2, 4.0.X (4.0.81118)
|JetBrains dotCover||YES if you want to use dotCover as the coverage engine.||http://www.jetbrains.com/dotcover/||1.X, 2.X (1.2 & 2.0)|
|NDeps||NO, binaries are embedded in the plugin.||https://github.com/grozeille/DependencyParser|
- These external tools need the .Net framework to be installed. FxCop10 needs .Net 4 but the other ones runs fine with .Net 3.5.
- StyleCop plugin relies on MsBuild to run the analysis.
- Former versions of the StyleCop plugin (1.3 and before) were embedding StyleCop 4.4, whereas new versions (1.4+) are embedding StyleCop 184.108.40.206.