Usage of custom analyzer in VS2019 SonarLint extension

Hi,
I need some help regarding analyzer used/available in SonarLint VS2019 extension.

Our SonarQube upload is using also some own developed Healthineers Analyzers:
20:47:52.25 Cache hit: using plugin files from D:\BA\tmp.sonarqube\resources\1
20:47:52.25 Processing plugin: healthineerscodeanalysisanalyzers version 1.3.2005.2502
20:47:52.265 Cache hit: using plugin files from D:\BA\tmp.sonarqube\resources\2
20:47:52.265 Processing plugin: healthineersmicrosoftcodeanalysisanalyzers version 1.3.2005.2502

Some rules in our project quality profile refer to these Analyzer:

The ruleset created by SonarLint after connected to SonarQube for our Project seems ok and contains also the rules from our Healthineers Analyzer but the Findings are now shown.
Perhaps because the Healthineers Analyzer are not loaded.
I tried to copy our Analyzer dll’s in the SonarLint VS2019 Extension directory but it did not help.
Is here any way to add our Healthineers Analyzer to the SonarLint installed extension ?

Connecting to ‘https://sonarqube-cloud.healthcare.siemens.com/’.
Connected to SonarQube ‘8.5.1.38104’.
Connecting to SonarQube server: Detecting server plugins
Discovered a supported plugin: Plugin: ‘SonarC#’, Language(s): ‘C#’, Installed version: ‘8.13.1’, Minimum version: ‘5.0’
Discovered a supported plugin: Plugin: ‘SonarVB’, Language(s): ‘VB.NET’, Installed version: ‘8.13.1’, Minimum version: ‘3.0’
Discovered a supported plugin: Plugin: ‘SonarCFamily’, Language(s): ‘C++, C’, Installed version: ‘6.13.0’, Minimum version: ‘6.0’
Connecting to SonarQube server: Retrieving projects
Connecting to SonarQube server: Succeeded
Connecting to SonarQube server: Downloading server settings.

Hi @Uwe,

I’m assuming you’ve used the SonarQube Roslyn SDK to package your analyzers as SonarQube plugins. In that case, the ruleset generated from the Quality Profile by SLVS will take those rules into account, but SLVS will not configure VS to use those analyzers locally.

There isn’t a way to make SLVS automatically provision your analyzers. As you’ve discovered, just copying them to disc doesn’t work because VS doesn’t know they exist.

However, you can manually register them with VS using the normal VS mechanisms for Roslyn analyzers i.e. by packaging them in a VSIX and installing them directly, or by packaging them in NuGet packages and adding references to those NuGet packages to your solutions (assuming you have a NuGet package feed set up for your analyzers).

If you take the NuGet approach there are a couple of new-ish features of VS that you can use to reduce the amount of manual configuration that is required - you can create a single Directory.Build.props file that references the NuGet packages instead of manually adding the references to each .csproj, and you can use the new analyzer build properties to control when the analyzers are executed.