sonar.cs.fxcop.assembly 必须设置
sonar.cs.fxcop.assembly must be set
在 QualityProfile 中使用 FxCop 规则时,MSBuild SonarQube 引发了问题 'sonar.cs.fxcop.assembly must be set'。请参阅下面的例外情况。
它与其他 StyleCop 和 C# 规则一起工作良好。
我查看了类似的帖子,但找不到解决方案。
我正在使用:
C:\Sonar\sonarqube-5.2
C:\Sonar\MSBuild.SonarQube.Runner-1.0.2
安装了以下插件:
插件 C# 4.3
插件 StyleCop 1.1
针对以下示例项目:
C:\Sonar\sonar-examples-master\projects\languages\csharp\ConsoleApplication1
我正在执行以下命令:
cd Sonar\MSBuild.SonarQube.Runner-1.0.2\
MSBuild.SonarQube.Runner.exe begin /k:"MyProjectKey" /n:"MyProjectName" /v:"MyProjectVersion"
"C:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe" "C:\Sonar\sonar-examples-master\projects\languages\csharp\ConsoleApplication1\ConsoleApplication1.csproj" /t:Rebuild
MSBuild.SonarQube.Runner.exe end
我尝试在 .csproj 文件中声明程序集位置但没有成功。预期路径是什么样的?
<ItemGroup>
<SonarQubeSetting Include="sonar.cs.fxcop.assembly">
<Value>path to dll</Value>
</SonarQubeSetting>
</ItemGroup>
感谢您的帮助!
异常:
10:33:14.564 INFO - Sensor org.sonar.plugins.csharp.CSharpFxCopProvider$CSharpF
xCopSensor@1eeeda8
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 12.017s
Final Memory: 14M/113M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher.delegateExecution(BatchLauncher
.java:91)
at org.sonar.runner.impl.BatchLauncher.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102
)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalArgumentException: Cannot find the assembly "C:\Prog
ram Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Static Analysis Tools\Fx
CopSdk.dll" provided by the property "sonar.cs.fxcop.assembly".
at com.google.common.base.Preconditions.checkArgument(Preconditions.java
:88)
at org.sonar.plugins.fxcop.FxCopConfiguration.checkAssemblyProperty(FxCo
pConfiguration.java:115)
at org.sonar.plugins.fxcop.FxCopConfiguration.checkProperties(FxCopConfi
guration.java:97)
默认情况下,通过在构建服务器上安装 Visual Studio,fxcopcmd.exe
存储在此处:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop
错误消息具有误导性:您不应尝试设置 sonar.cs.fxcop.assembly
属性。可能发生的情况是,您是 运行 未安装 Visual Studio 的机器的分析,并且 FxCop 在 msbuild
本身期间未被触发(作为 "Code Analysis" MSBuild 任务).
即将推出的 SonarQube Scanner for MSBuild 1.1 版已经包含针对启用 FxCop 规则但未安装 FxCop 的情况的更好的错误消息。参见 https://jira.sonarsource.com/browse/SONARMSBRU-161
如果您使 fxcop 程序集指向您的应用程序 dll,问题将得到解决,如下所示。
sonar.cs.fxcop.fxCopCmdPath=C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe
sonar.cs.fxcop.assembly=APPLICATIONNAME/bin/APPLICATIONNAME.dll
注意:请确保您提供了指向 bin 文件夹的正确路径。
在 QualityProfile 中使用 FxCop 规则时,MSBuild SonarQube 引发了问题 'sonar.cs.fxcop.assembly must be set'。请参阅下面的例外情况。
它与其他 StyleCop 和 C# 规则一起工作良好。 我查看了类似的帖子,但找不到解决方案。
我正在使用:
C:\Sonar\sonarqube-5.2
C:\Sonar\MSBuild.SonarQube.Runner-1.0.2
安装了以下插件: 插件 C# 4.3 插件 StyleCop 1.1
针对以下示例项目:
C:\Sonar\sonar-examples-master\projects\languages\csharp\ConsoleApplication1
我正在执行以下命令:
cd Sonar\MSBuild.SonarQube.Runner-1.0.2\
MSBuild.SonarQube.Runner.exe begin /k:"MyProjectKey" /n:"MyProjectName" /v:"MyProjectVersion"
"C:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe" "C:\Sonar\sonar-examples-master\projects\languages\csharp\ConsoleApplication1\ConsoleApplication1.csproj" /t:Rebuild
MSBuild.SonarQube.Runner.exe end
我尝试在 .csproj 文件中声明程序集位置但没有成功。预期路径是什么样的?
<ItemGroup>
<SonarQubeSetting Include="sonar.cs.fxcop.assembly">
<Value>path to dll</Value>
</SonarQubeSetting>
</ItemGroup>
感谢您的帮助!
异常:
10:33:14.564 INFO - Sensor org.sonar.plugins.csharp.CSharpFxCopProvider$CSharpF
xCopSensor@1eeeda8
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 12.017s
Final Memory: 14M/113M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher.delegateExecution(BatchLauncher
.java:91)
at org.sonar.runner.impl.BatchLauncher.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102
)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalArgumentException: Cannot find the assembly "C:\Prog
ram Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Static Analysis Tools\Fx
CopSdk.dll" provided by the property "sonar.cs.fxcop.assembly".
at com.google.common.base.Preconditions.checkArgument(Preconditions.java
:88)
at org.sonar.plugins.fxcop.FxCopConfiguration.checkAssemblyProperty(FxCo
pConfiguration.java:115)
at org.sonar.plugins.fxcop.FxCopConfiguration.checkProperties(FxCopConfi
guration.java:97)
默认情况下,通过在构建服务器上安装 Visual Studio,fxcopcmd.exe
存储在此处:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop
错误消息具有误导性:您不应尝试设置 sonar.cs.fxcop.assembly
属性。可能发生的情况是,您是 运行 未安装 Visual Studio 的机器的分析,并且 FxCop 在 msbuild
本身期间未被触发(作为 "Code Analysis" MSBuild 任务).
即将推出的 SonarQube Scanner for MSBuild 1.1 版已经包含针对启用 FxCop 规则但未安装 FxCop 的情况的更好的错误消息。参见 https://jira.sonarsource.com/browse/SONARMSBRU-161
如果您使 fxcop 程序集指向您的应用程序 dll,问题将得到解决,如下所示。
sonar.cs.fxcop.fxCopCmdPath=C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe sonar.cs.fxcop.assembly=APPLICATIONNAME/bin/APPLICATIONNAME.dll
注意:请确保您提供了指向 bin 文件夹的正确路径。