2016-12-12 5 views
0

Я пытаюсь настроить сканирование сонара на код C#, и из документации я понимаю, что сканер сонара устарел, и я должен использовать MSBuild для C#. Но тем не менее мне удалось запустить анализ сонарного сканера кода C#, а также получить некоторые проблемы. Таким образом, сканирование кажется успешным.C# сканирование кода: сканер сонара против сканера SonarQube для MSBuild

Мой вопрос: стоит ли перейти от сканирования сонара к сканированию MSBuild и почему? Я прошу об этом, потому что для внесения такого изменения потребуется некоторое усилие, время и ресурсы, которые я предпочел бы по возможности пожертвовать.

Спасибо!

ответ

2

Это не шокирует, что у вас возникли проблемы с использованием SonarQube Scanner для анализа вашего проекта C#. Но вы получили все что у вас должно быть?

При анализе с помощью SonarQube Scanner вы в основном делаете файл путем анализа файлов. Поэтому каждый исходный файл анализируется самостоятельно без какой-либо информации о типах, которые определены в других исходных файлах. Есть и другие различия. Например, каждая частичная часть partial class также анализируется отдельно. Как вы можете это сделать, это можно сделать только с максимальной эффективностью, и это приведет к отсутствию или неточности.

Сравнительно, когда вы используете сканер для MsBuild, анализ интегрируется в ваш процесс сборки. Поэтому анализаторы могут использовать всю информацию о типе, доступную компилятору. Естественно, это приводит к появлению более точных вопросов, окраски кода, ...

Именно поэтому сканер SonarQube для MSBuild рекомендуется для анализа проектов .NET.