Frequently asked questions on the C# Plugins Ecosystem:
What is the difference between the Sonar .NET Plugins (up to version 0.6) and the Sonar C# Plugins Ecosystem (from version 1.0)?
Historically, the support for the C# language was created under the ".NET Plugins" name, from version 0.1 to latest 0.6 released in June 2011.
In the mean time, a complete rewrite of those plugins started in late 2010 in order to make C# a first-class language in Sonar. This not only involved upgrading the plugins to the latest APIs and Sonar development best-practices, but also making evolutions on the core of the Sonar platform itself to support new needs that the Java world had not brought before.
The set of plugins was rebranded "C# Plugins Ecosystem" to highlight the enhanced support of the C# language (C# being just one of several languages running on top of the .NET platform).
The main differences between those 2 sets of Sonar plugins are:
- Home-made C# parser: no need to install SourceMonitor anymore, all the metrics are computed by the brand-new SonarSource C# Squid plugin (available as a freeware). This opens lots of possibilities for the future, like being able to create our own C# rules (like it is done on the C Plugin).
- Better support of copy-paste detection, based on the new C# parser
- Maven is no more required for execution: assuming that you're solution has been compiled, you can run a Sonar analysis just with the Simple Java Runner
- Native support of Sonar way to handle multi-module: a .NET solution that contains C# projects will be considered like a standard root project with modules in Sonar
| To remember The C# Plugins Ecosystem is not just an evolution of the .NET plugins, it is a complete rewrite and thus introduces many changes. If you were a .NET plugins user before, we advice you to read the notes below about the migration process. |
How should I migrate from the .NET Plugins 0.6 to the new C# Plugins Ecosystem 1.0, and what will change?
We tried to ensure backward compatibility at configuration level as much as possible, so the migration process should be pretty simple: remove the .NET plugins and add the new C# ones.
We'll enhance this section as we get feedback from users.
| What will changes once the migration is done? Size & complexity metrics are now computed by the C# Squid Plugin, so they will definitely change (results will better reflect the reality, hopefully). As a consequence, this will also have impacts on some other metrics, like the rule compliance for instance. |
Where is the documentation for the formet .NET Plugins?
Documentation can be found here: .Net plugin

