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

...

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:
    • .NET Core:  the core plugin that defines API used by every other plugin in the ecosystem.
    • C# Core: the plugin that parses C# code source, computes metrics and detects copy-paste, detects duplications, etc.
       
  • Optional plugins adding features from external tools:
    • .NET FxCop: launches runs FxCop analyses to detect violations relating issues related to potential bugs, tight coupling, globalization, etc.
    • .NET Gendarme: launches runs Gendarme analyses to detect violations relating issues related to bad coding bad practices, code smell detection, performance, etc.
    • .NET Gallio: launches runs Gallio to run tests and gets execution report execute unit/integration tests as well as a code coverage report tool (using PartCover or OpenCover or NCover or ...).
    • .NET NDeps: launches runs a dependency parser tool, built on Mono Cecil, to get dependency data between assemblies and classes. 
    • C# StyleCop: launches runs StyleCop analyses to detect violations issues mainly relating related to coding style (formatting, comments, ...).

Requirements

...

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:

    C# language

    Up to 4.0

    .NET framework

    2.0, 3.5 and 4.0

    Silverlight

    3 and 4

    Visual Studio

    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

...

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 Sonar SonarQube server

Installing

...

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).

...

titleWhere to Install the External Tools

...

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 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 selectedis installed?

Web site / download / install guideWebsite

Supported versions 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

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

10.0

StyleCop

NO, StyleCop 4.7 binaries are embedded in the plugin.

http://stylecop.codeplex.com

4.6+ (4.7)

Gendarme

NO, Gendarme 2.10 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)

OpenCover

YES if you want to use OpenCover as the coverage engine.OpenCover is preferred to PartCover.
You need .NET 4 installed on your build machine in order to use OpenCover

Requires .NET SDK 4.0 to be installed.

https://github.com/sawilde/opencover

1.0.X, 2.0.X (2, 4.0.X (4.0.81118)

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 

Some notes:

  • 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 4.7.34.0.