0

我已经安装并配置了 SonarQube 3.7.1 和 sonar-runner 2.3。

尝试在 ac# 解决方案上运行 sonar-runner 时出现错误:

ERROR: Error during Sonar runner execution 
ERROR: Unable to execute Sonar 
ERROR: Caused by: Error occured while reading Visual Studio files. 
ERROR: Caused by: Error while processing the project C:\root\MPS\MPA\Main\Source\MPA.Build\MPA.Build.csproj : assemblyName not defined

我的 sonar-project.properties 看起来像

sonar.projectKey=CompanyName:MPA.Android 
sonar.projectName=MPA
sonar.projectVersion=1.0

sonar.sources=. 
sonar.language=cs
sonar.sourceEncoding=UTF-8
\#sonar.dotnet.key.generation.strategy=safe
sonar.dotnet.visualstudio.solution.file=MPA.sln

sonar.skippedModules=MPA.Build

我想排除项目 MPA.Build。但它不起作用。

在 MPA.sln 文件中,MPA.Build 项目定义为

项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“MPA.Build”,“MPA.Build\MPA.Build.csproj”,“{A8B400F6-A5C5-4843-96CA-92B25A2E6483}”EndProject

任何人都知道如何解决这个错误?

运行 sonar-runner -X 时,输出为:

utils.SonarException:读取 Visual Studio 文件时发生错误。在 org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.createVisualStudioSolution(VisualStudioProjectBuilder.java:190) 在 org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.build(VisualStudioProjectBuilder.java:82) 在 org.sonar.api.batch .bootstrap.ProjectBuilder.build(ProjectBuilder.java:67) 在 org.sonar.batch.scan.ProjectReactorReady.start(ProjectReactorReady.java:63) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl .invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.picocontainer。

4

3 回答 3

1

"assemblyName not defined" => You just have to fix the MPA.Build.csproj file that is not correct because tag "AssemblyName" is missing. See https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/csharp/Example.Core/Example.Core.csproj for example.

于 2013-10-04T13:51:13.140 回答
0

我今天使用 sonarqube 5.0 面临同样的问题。我尝试了“sonar.skippedModules”,但现在已弃用。

相反,您必须使用Visual Studio 引导程序提供的以下表达式:

sonar.visualstudio.skippedProjectPattern =

于 2015-03-30T16:11:59.737 回答
0

您拥有的属性文件语法似乎是正确的。当你运行 sonar-runner 时,你应该在接近运行开始时看到这样的行:

INFO  - Apply project exclusions 
INFO  - Exclude project: MPA.Build [SomePrefix:MPA.Build]

如果你不这样做,我建议使用-X参数运行 sonar-runner,它将调试语句打印到控制台。(您可能希望将控制台重定向/捕获到日志文件。)这可能会提供一些额外的信息,有助于理解为什么它没有看到您的排除。

此外,在 SonarQube Web UI 中,查看项目时,单击左侧导航栏中的“组件”链接。这将列出解决方案的“模型”。仔细检查此视图中显示的名称是否匹配MBA.Build

于 2013-10-03T22:46:57.033 回答