简体   繁体   English

在运行声纳运行器时将项目从解决方案中排除

[英]exclude project from solution when running sonar-runner

I have installed and configured SonarQube 3.7.1 and sonar-runner 2.3. 我已经安装并配置了SonarQube 3.7.1和sonar-runner 2.3。

While trying to run sonar-runner on ac# solution I got the error: 尝试在ac#解决方案上运行声纳运行器时出现错误:

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

My sonar-project.properties looks like 我的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

I would like to exclude the project MPA.Build. 我想排除项目MPA.Build。 But it's not working. 但这不起作用。

In the MPA.sln file the MPA.Build project is defined as 在MPA.sln文件中,MPA.Build项目定义为

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

Anyone knows how to solve this error? 有人知道如何解决此错误吗?

when running sonar-runner -X the output is: 运行sonar-runner -X时,输出为:

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:90) 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:41) Caused by: org.sonar.api.utils.SonarException: Error occured while reading Visual Studio files. 错误:Sonar运行器执行org.sonar.runner.impl.Runner时出错。异常:无法在org.sonar.runner.impl的org.sonar.runner.impl.BatchLauncher $ 1.delegateExecution(BatchLauncher.java:91)执行Sonar。 BatchLauncher $ 1.run(BatchLauncher.java:75),位于org.sonar.runner.impl的java.security.AccessController.doPrivileged(本机方法).org.sonar.runner.impl的BatchLauncher.doExecute(BatchLauncher.java:69)位于org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)的.BatchLauncher.execute(BatchLauncher.java:50),位于org.sonar.runner.api.Runner.execute(Runner.java:90)的org.sonar.runner.Main.main(Main.java:41)上的org.sonar.runner.Main.execute(Main.java:59)上的org.sonar.runner.Main.executeTask(Main.java:70)引起原因:org.sonar.api.utils.SonarException:读取Visual Studio文件时发生错误。 at org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.createVisualStudioSolution(VisualStudioProjectBuilder.java:190) at org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.build(VisualStudioProjectBuilder.java:82) at org.sonar.api.batch.bootstrap.ProjectBuilder.build(ProjectBuilder.java:67) at org.sonar.batch.scan.ProjectReactorReady.start(ProjectReactorReady.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) at org. 在org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.createVisualStudioSolution(VisualStudioProjectBuilder.java:190)在org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.build(VisualStudioProjectBuilder.java:82)在org.sonar.api.batch org.sonar.batch.scan.ProjectReactorReady.start(ProjectReactorReady.java:63)处的.bootstrap.ProjectBuilder.build(ProjectBuilder.java:67)位于sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)处在sun.reflect.NativeMethodAccessorImpl org.picocontainer.lifecycle.ReflectionLifecycleStrategy的.invoke(NativeMethodAccessorImpl.java:39)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)在java.lang.reflect.Method.invoke(Method.java:597)。 org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)的org.picocontainer.injectors.AbstractInjectionFactory $ LifecycleAdapter.start(AbstractInjectionFactory.java:84)的invokeMethod(ReflectionLifecycleStrategy.java:110)。 picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) at org.picocontainer.behaviors.Stored.start(Stored.java:110) at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015) at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008) at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766) at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91) at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57) at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45) at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82) at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) at org.sonar.api.platform.ComponentContainer.execute(ComponentC picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)位于org.picocontainer.behaviors.Stored $ RealComponentLifecycle.start(Stored.java:132)位于org.picocontainer.behaviors.Stored.start(Stored.java:110)在org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java :)上org.picocontainer.DefaultPicoContainer.defaultAdapter org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)的api.platform.ComponentContainer.startComponents(ComponentContainer.java:91)在org.sonar.batch.scan.ScanTask.scan(ScanTask.java: 57),位于org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82),位于org.sonar.api.platform.ComponentContainer,位于org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82),位于org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45) org.sonar.api.platform.ComponentContainer.execute(ComponentC上的.startComponents(ComponentContainer.java:92) ontainer.java:77) at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:156) at org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:144) at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) ... 9 more Caused by: org.sonar.plugins.dotnet.api.DotNetExcepti 在org.sonar.api.org上的org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:156)上的ontainer.java:77)在org.sonar.api上的org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:144)上org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77)的.platform.ComponentContainer.startComponents(ComponentContainer.java:92)org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) ),位于org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)的org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74),位于sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) )在org处的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)在java.lang.reflect.Method.invoke(Method.java:597)处的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) .sonar.runner.impl.BatchLauncher $ 1.delegateExecution(BatchLauncher.java:87)... 9更多原因:org.sonar.plugins.dotnet.api.DotNetExcepti on: Error while processing the project C:\\root\\MPS\\MPA\\Main\\Source\\MPA.Build\\MPA.Build.csproj : assemblyName not defined at org.sonar.plugins.dotnet.api.microsoft.ModelFactory.getProject(ModelFactory.java:364) at org.sonar.plugins.dotnet.api.microsoft.ModelFactory.getProjects(ModelFactory.java:274) at org.sonar.plugins.dotnet.api.microsoft.ModelFactory.getSolution(ModelFactory.java:198) at org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.createVisualStudioSolution(VisualStudioProjectBuilder.java:185) ... 44 more on:处理项目时出错C:\\ root \\ MPS \\ MPA \\ Main \\ Source \\ MPA.Build \\ MPA.Build.csproj:org.sonar.plugins.dotnet.api.microsoft.ModelFactory.getProject中未定义的assemblyName org.sonar.plugins.dotnet.api.microsoft.ModelFactory.getProjects(ModelFactory.java:274)(位于org.sonar.plugins.dotnet.api.microsoft.ModelFactory.java:364) 198)at org.sonar.plugins.dotnet.core.VisualStudioProjectBuilder.createVisualStudioSolution(VisualStudioProjectBuilder.java:185)...还有44个

"assemblyName not defined" => You just have to fix the MPA.Build.csproj file that is not correct because tag "AssemblyName" is missing. “未定义AssemblyName” =>您只需要修复不正确的MPA.Build.csproj文件,因为缺少标签“ AssemblyName”。 See https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/csharp/Example.Core/Example.Core.csproj for example. 例如,请参阅https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/csharp/Example.Core/Example.Core.csproj

The properties file syntax you have appears to be correct. 您所拥有的属性文件语法似乎正确。 When you run sonar-runner, you should see lines like this close to the beginning of the run: 运行sonar-runner时,应该在运行开始时看到类似以下的行:

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

If you don't, I would suggest running sonar-runner with the -X argument, which will print debug statements to the console. 如果不这样做,我建议使用-X参数运行sonar-runner,它将在控制台输出调试语句。 (You'll likely want to redirect/capture the console to a log file.) This may present some additional information that could help understand why it's not seeing your exclusion. (您可能希望将控制台重定向/捕获到日志文件。)这可能会提供一些其他信息,这些信息可以帮助您理解为什么它没有被排除在外。

Also, in the SonarQube web UI, while looking at the project, click the "Components" link in the left-hand navigation bar. 另外,在SonarQube Web UI中,在查看项目的同时,单击左侧导航栏中的“组件”链接。 This will list the "models" for the solution. 这将列出解决方案的“模型”。 Double-check that the name showing in this view matches MBA.Build . 仔细检查此视图中显示的名称是否与MBA.Build相匹配。

I face the same issu today with sonarqube 5.0. 今天,我使用声呐5.0面临着同样的问题。 I tried the "sonar.skippedModules" but this is deprecated now. 我尝试了“ sonar.skippedModules”,但现在已弃用。

Instead, you have to use the following expression provided by the visual studio bootstraper : 相反,您必须使用visual studio bootstraper提供的以下表达式:

sonar.visualstudio.skippedProjectPattern = sonar.visualstudio.skippedProjectPattern =

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 声纳运行器可以在.net Framework 3.5或更低版本下使用? - can sonar-runner be used under .net framework 3.5 or below? 包含C#和JavaScript的项目上的声纳跑步者 - Sonar runner on a project containing c# and javascript 使用MSBuild.Sonar.Runner对C#网站项目进行声纳分析 - Sonar analysis of C# Website Project with MSBuild.Sonar.Runner 使用Simple Java Runner的具有多个模块的Sonar C#项目 - Sonar C# project with multiple modules using the Simple Java Runner Visual Studio:从测试资源管理器运行测试时默认排除项目 - Visual Studio: Exclude Project by default when running tests from test explorer 在测试资源管理器中运行“全部运行”时是否可以排除测试项目 - Is it possible to exclude a Test Project when running 'Run All' in Test Explorer 正在运行的声纳Qube扫描仪项目被标记为无效 - Running sonar Qube scanner project are marked as invalid 声纳跑步者执行错误 - Sonar Runner Execution Error 在条件 c# 的解决方案中排除项目引用 - exclude project references in solution on conditional c# 如何从visual studio 2013的输出窗口中显示“排除未选择构建此解决方案配置的项目”消息 - How to exclude “Project not selected to build for this solution configuration” message from displaying in output window in visual studio 2013
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM