的MSBuild SonarQube是提出這個問題用在QualityProfile的FxCop規則時,「sonar.cs.fxcop.assembly必須設置」。見下面的例外。sonar.cs.fxcop.assembly必須設置
它與其他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\12.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
[email protected]
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$1.delegateExecution(BatchLauncher
.java:91)
at org.sonar.runner.impl.BatchLauncher$1.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 2008,2010和2012,我可以找到FxCop到以下文件夾中: C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Team Tools \ Static Analysis Tools \ FxCop 我需要安裝另一個版本的FxCop嗎? –
由於我沒有安裝VS2013,我已經安裝了MS Build for VS2013 [鏈接](https://www.microsoft.com/en-us/download/details.aspx?id=40760)我剛剛安裝了FxCop 10在這[鏈接](http://www.fluxbytes。com/microsoft/download-fxcop-10 /)但我仍然遇到問題。 –
是的我懷疑你將需要Visual Studio 2013與MSBuild 12順利工作。但是,你可以嘗試設置環境變量'%VisualStudioVersion%'到'11.0',看看這是否強制MSBuild 12尋找你的Visual Studio 11安裝。 –