繁体   English   中英

当尝试在C#项目上运行SonarQube Scanner for MSBuild时构建失败

[英]Build fails when try to run SonarQube Scanner for MSBuild on C# project

我正在尝试使用SonarQube Scanner for MSBuild从命令行分析我的C#代码。

我已经安装了适用于MSBuild 2.2.0.24的SonarQube扫描仪( http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild ),并且具有所有先决条件。

我正在运行以下命令:

SonarQube.Scanner.MSBuild.exe begin /k:"MyProject" /n:"My Project" /v:"1.0.0.0"

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:Rebuild

SonarQube.Scanner.MSBuild.exe end

但是,当我在解决方案(.Net Framework 4.5.1)上运行msbuild时,构建将失败。 当我不进行声纳扫描时,该解决方案将成功构建,因此它必须与声纳扫描仪插件有关。

在SonarQube.Analysis.xml中,我仅提供了sonar.host.url,sonar.login和sonar.password。

这是msbuild的输出:

Build FAILED.

"C:\git\src\MySoltion.sln" (Rebuild target) (1) ->
"C:\git\src\\MyProject\MyProject.csproj" (Rebuild target) (2) ->
"C:\git\src\\MyProject\xxc3zd2a.tmp_proj" (_CompileTemporaryAssembly target) (4) ->
(CoreCompile target) ->
  CSC : error CS0016: Could not write to output file 'C:\git\src\\MyProject\Build\bin\xxc3zd2a\Debug\MyProject.exe
.RoslynCA.json' -- 'Could not find a part of the path 'C:\git\src\\MyProject\Build\bin\xxc3zd2a\Debug\MyProject.ex
e.RoslynCA.json'.' [C:\git\src\MyProject\xxc3zd2a.tmp_proj]

    0 Warning(s)
    1 Error(s)

通过为我们的解决方案中的主项目编辑csproj文件,已解决了此问题。 最初看起来像这样:

<OutputPath>$(BuildOutputPath)\bin\$(MSBuildProjectName)\$(Configuration)</OutputPath>

但是$(MSBuildProjectName)变量在Sonar扫描期间运行msbuild时似乎确实起作用,它生成了
xxc3zd2a.tmp_proj文件夹,而不是实际的项目名称。 更换时
$(MSBuildProjectName)及其工作的项目名称。 我们的解决方案有4个项目,但我只更改了其中一个。

请注意,仅运行msbuild时,无需更改csproj文件...

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM