sonar-custom-rules-examples , на которые вы указали, написаны на Java и используют синтаксические анализаторы, написанные на Java для различных целевых языков. sonar-dotnet анализаторы для C # и VB.NET написаны на C # с использованием Roslyn framework , предоставленного Microsoft.
Если вы хотите написать свои собственные пользовательские правиладля C # тогда написание анализатора Roslyn, безусловно, самый простой способ сделать это (Roslyn заменил FxCop, который сейчас устарел).Тем не менее, существуют десятки бесплатных сторонних анализаторов Roslyn, так что, возможно, кто-то уже написал хотя бы некоторые из правил, которые вы хотите.Взгляните на NuGet , чтобы увидеть, что доступно.
Далее, вы хотите, чтобы проблемы, возникшие с анализатором Roslyn, появились в SonarQube.Если вы используете новые версии SonarQube (v7.4 +), SonarScanner для MSBuild (v4.4 +) и плагин SonarC # (v7.6 +), то проблемы, поднятые сторонними анализаторами Roslyn, будут автоматическиимпортироваться как общие вопросы .См. документы для получения дополнительной информации.
Общие проблемы имеют несколько существенных ограничений, так же как невозможность выбора правил для запуска в пользовательском интерфейсе SonarQube.Если вы хотите более полнофункциональный опыт (или если вы используете более старую версию SonarQube), вы можете использовать SonarQube Roslyn SDK , чтобы сгенерировать пользовательский плагин SonarQube, который оборачивает анализатор Roslyn.Использовать SDK очень просто: это исполняемый файл, который вы запускаете против анализатора Roslyn, и он генерирует банку плагина SonarQube для вас.