Full documentation for SonarQube has moved to a new location: http://docs.sonarqube.org/display/SONAR

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleWarning: This documentation concerns the outdated .NET ecosystem plugins version 2.1

New users as well as users of the recent versions of the C# plugins should consult this page.

 

 

 

 

 

 

The C# Ecosystem is a set of plugins. They are all installed as part of the ecosystem, but not all of them will necessarily be used:

  • Mandatory plugins:
    • .NET Core: defines API used by every other plugin of in the ecosystem.
    • C# Core: parses C# code source, computes metrics, detects duplications, etc.
       
  • Optional plugins adding features from external tools:
    • .NET FxCop: runs FxCop to detect issues related to potential bugs, tight coupling, globalization, etc.
    • .NET Gendarme: runs Gendarme to detect issues related to bad coding bad practices, code smell detection, performance, etc.
    • .NET Gallio: runs Gallio to execute unit/integration tests as well as a code coverage tool (PartCover or OpenCover or NCover or ...).
    • .NET NDeps: runs a dependency parser tool, built on Mono Cecil, to get dependency data between assemblies and classes. 
    • C# StyleCop: runs StyleCop to detect issues mainly related to coding style (formatting, comments, ...).

Installing C# Ecosystem on Server

  1. Install the .NET and C# plugins from the Update Center or download them into the SONARQUBE_HOME/extensions/plugins directory
  2. Restart the SonarQube server

Installing External Components on 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 analyzer(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 embed 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

Tool

Install required if corresponding plugin is installed?

Website

Supported version (Tested one in bold)

FxCop

YES

Requires .NET SDK 4.0 to be installed. However, the installer
for FxCop was somehow omitted from the 64-bit .iso.

http://www.infoq.com/news/2010/06/FXCop-10

How to pull the installer out of one of the complete iso's:
http://ruthlesslyhelpful.net/2011/06/09/liberate-fxcop-10-0/  

1.36+ (10.0)

StyleCop

NO, StyleCop binaries are embedded in the plugin.

http://stylecop.codeplex.com

4.6+ (4.7)

Gendarme

NO, Gendarme binaries are embedded in the plugin.

http://www.mono-project.com/Gendarme

2.10+ (2.10)

Gallio

YES

http://www.gallio.org

3.1 Update 2 + (3.2.3)

PartCover

YES if you want to use PartCover as the coverage engine.
Since PartCover is no longer maintained, OpenCover is preferred.

https://github.com/sawilde/partcover.net4
(click on the "Downloads" button)

2.2, 2.3 and 4.0 (4.0)

NCover

YES if you want to use NCover as the coverage engine

http://www.ncover.com

3.0 (3.0)Version 4 is currently not supported. 

OpenCover

YES if you want to use OpenCover as the coverage engine.

Requires .NET SDK 4.0 to be installed.

https://github.com/sawilde/opencover

1.0.X, 2.0.X, 4.0.X (4.0.1118)

JetBrains dotCoverYES if you want to use dotCover as the coverage engine.http://www.jetbrains.com/dotcover/1.X, 2.X (1.2 & 2.0)
NDepsNO, binaries are embedded in the plugin.https://github.com/grozeille/DependencyParser