我有一个C#multimodule项目,我想运行SonarQube分析。该项目是使用Maven通过聚合器pom文件构建的。声纳分析工作正常,找到模块并完成声纳分析。但是,我没有看到任何StyleCop违规。例如
[INFO] [14:41:01.053] Sensor org.sonar.plugins.stylecop.StyleCopSensor@1d5df31...
[INFO] [14:41:01.148] Microsoft (R) Build Engine version 4.0.30319.18408
[INFO] [14:41:01.149] [Microsoft .NET Framework, version 4.0.30319.18444]
[INFO] [14:41:01.149] Copyright (C) Microsoft Corporation. All rights reserved.
[INFO] [14:41:01.149]
[INFO] [14:41:01.189] Build started 21/11/2014 14:41:01.
[INFO] [14:41:01.410] Project "C:\Jenkins\workspace\xxx\xxx\trunk\src\target\sonar\StyleCop-msbuild.proj" on node 1 (default targets).
[INFO] [14:41:01.411] StyleCopLaunch:
[INFO] [14:41:01.411] No violations encountered
[INFO] [14:41:01.416] Done Building Project "C:\Jenkins\workspace\xxx\xxx\trunk\src\target\sonar\StyleCop-msbuild.proj" (default targets).
[INFO] [14:41:01.421]
[INFO] [14:41:01.421] Build succeeded.
[INFO] [14:41:01.421] 0 Warning(s)
[INFO] [14:41:01.421] 0 Error(s)
[INFO] [14:41:01.422]
[INFO] [14:41:01.422] Time Elapsed 00:00:00.24
[INFO] [14:41:01.662] Sensor org.sonar.plugins.stylecop.StyleCopSensor@1d5df31 done: 609 ms
如果我在不同的Jenkins作业中单独运行每个模块,我会看到所有违规,包括StyleCop,所以当我使用聚合器pom时会出现问题。我在SonarQube中使用以下插件
声纳属性 p>
sonar.sourceEncoding=UTF-8
sonar.visualstudio.enable=true
sonar.exclusions=**/Reference.cs,**/*.designer.cs,**/*.Designer.cs,**/*.g.cs,**/target/**
sonar.stylecop.projectFilePath=trunk/src/
我强制指定projectFilePath
,因为如果我不这样做,分析就会失败。启用 Bootstrapper 后,我认为会自动检测项目文件。是否有另一种方法为每个模块指定projectFilePath
?它们都在相同的文件夹结构trunk/src/
下。
我还尝试单独定义模块,因为它完成here没有运气。我一直在努力实现这一天两天,我不知道还有什么可以尝试。
任何帮助都会非常感激!
答案 0 :(得分:0)
我会禁用VS引导程序并使用Core C#设置
# Core CSharp settings
sonar.dotnet.visualstudio.solution.file=mySolution.sln
sonar.dotnet.test.assemblies=*Test*.dll
sonar.skippedModules=TestProject1,TestProject2
# VS Bootstrapper settings
sonar.visualstudio.enable=false
# Scan Directories
sonar.projectBaseDir=SourceDirectory
sonar.dotnet.assemblies=OutputDirectory\.
sonar.dotnet.test.assemblies=OutputDirectory\
默认情况下,这将使用声纳规则来分析您的代码(.cs)文件。您可以选择StyleCop / FxCop / Resharper,也可以将它们添加到设置文件中。