2013-02-20 3 views
1

Я подготовил Sonar для анализа моего проекта C#. Я установил сонар и сонар, а также сконфигурировал плагины C# (.NET Core, C# Core, FxCop, Жандарм, Галлио, OpenCover и StyleCop)Директив по умолчанию для сонара

Пока все отлично работает. В Sonar я вижу статистику моего кода (LOC и т. Д.), А также вижу нарушения кода. Нет никакого покрытия кода, но это нормально, потому что у меня нет тестов.

Проблема в том, что я вижу нарушения в отношении Stylecop, поэтому он просто показывает некоторые проблемы с кодом. Но я уверен, что мое приложение также должно иметь другие нарушения, которые должны быть обнаружены FxCop и другими плагинами.

На этом изображении можно просто увидеть, что он показывает нарушение с StyleCop. Все мои нарушения - ТОЛЬКО от StyleCop.

enter image description here

В Sonar C# Documentation я читал, что это может случиться так, что анализ выполнен успешно, но слишком мало нарушений было обнаружено, возможно, из-за неправильного направления Собрание. я покажу вам мои sonar-runner.properties, может быть, вот причина моих проблем:

#----- Default Sonar server 
#sonar.host.url=http://localhost:9000 

#----- PostgreSQL 
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar 
#sonar.jdbc.driver=org.postgresql.Driver 

#----- MySQL 
#sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8 
#sonar.jdbc.driver=com.mysql.jdbc.Driver 

#----- Oracle 
#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE 
#sonar.jdbc.driver=oracle.jdbc.driver.OracleDriver 

#----- Global database settings 
#sonar.jdbc.username=sonar 
#sonar.jdbc.password=sonar 

#----- Default directory layout 
sonar.sources=src 
sonar.tests=src 
sonar.binaries=src 

#----- Default source code encoding 
#sonar.sourceEncoding=UTF-8 

Я также хочу перечислить мою структуру приложения:

-->ProjectMainFolder 
    -->Project.sln 
    -->sonar-project.properties 

    -->Project1Folder 
     -->bin 
     -->object 
     -->Properties 
     -->Project1.csproj 
     -->Project1Main.cs 

    -->Project2Folder 
     -->bin 
     -->object 
     -->Properties 
     -->Project2.csproj 
     -->Project2Main.cs 

Так что вопрос еще раз: Почему я вижу только нарушения StyleCop и никаких нарушений с FxCop, жандармом и так далее?

Я также хочу добавить свои sonar-project.properties:

# optional description 
sonar.projectDescription=Project description 

# Project identification 
sonar.projectKey=Vendor:Project 
sonar.projectVersion= 1.0 
sonar.projectName= Project 

# Info required for Sonar 
sources=. 
sonar.language=cs 
sonar.sourceEncoding=UTF-8 

#Core C# Settings 
sonar.dotnet.visualstudio.solution.file=Project.sln 

ответ

1
  • Во-первых, вы не должны ставить конкретные параметры проекта в sonar-runner.properties файле, вы должны создать «sonar- project.properties "внутри вашего решения и сохраните его

  • Во-вторых, в этом файле« sonar-project.properties »« sonar.sources »должно быть установлено значение«. ». и вы не должны иметь «sonar.tests», ни «sonar.binaries»

Все это хорошо объяснены в documentation и примененные в sample project.

+0

1 .: Я собрал все свои проекты в папке проекта до анализа. 2: Эти ассамблеи не были перемещены, они находятся в папке bin/release каждого проекта. 3 .: Папка решения также не была перемещена. Все находится в исходном положении – Metalhead89

+0

Я отредактировал свой ответ, сначала прочитал ваш вопрос слишком быстро. –

+0

Итак, если я правильно понимаю: сонар-бегун.свойства предназначены только для глобальной конфигурации, а конкретная конфигурация проекта обрабатывается только в sonar -project.properties? Я также добавляю свои параметры sonar-project.properties, чтобы увидеть, что что-то не так, потому что я уже установил источники в. – Metalhead89

0

Я только что нашел решение.

Fabrice - команда Sonar только что привёл меня к этой мысли, что FxCop и жандарм не могут работать правильно, потому что у них нет возможности работать.

Here Я нашел душу. FxCop просто ищет ассамблеи в папке Debug, и потому, что у меня просто были мои ассамблеи в папке с выпуском, он не работал должным образом. Поэтому я поменял их обратно на Debug (или sonar.dotnet.buildConfigurations), чтобы решить его.