2017-03-05 51 views
2

我想在MacOS上使用单声道的Xamarin项目上使用MSBuild的SonarQube扫描仪。由于MSBuild 15.0现在与Xamarin一起发货,我想这可能实际上工作。SonarQube扫描仪在MacOS上使用单声道的MSBuild

我能成功运行的扫描仪的“开始”使用单像这样:

mono sonar-scanner-msbuild-2/SonarQube.Scanner.MSBuild.exe begin /k:"KEY" 

的命令创建下列文件:

.sonarqube/conf/SonarQubeAnalysisConfig.xml 
.sonarqube/conf/SonarQubeRoslyn-cs.ruleset 
.sonarqube/conf/cs/SonarLint.xml 

运行的MSBuild之前,我已经添加了以下进口我的解决方案的csproj文件:

<Import Project="/Users/someuser/.local/share/Microsoft/MSBuild/14.0/Microsoft.Common.targets/ImportBefore/SonarQube.Integration.ImportBefore.targets" /> 

我正在运行MSBuild使用:

msbuild /t:Rebuild 

现在构建正确启动,但最终以两个错误终止:

"/Users/someuser/Project/Project.sln" (Rebuild target) (1) -> 
"/Users/someuser/Project/Project.UI.iOS/Project.UI.iOS.csproj" (Rebuild target) (2) -> 
"/Users/someuser/Project/Project.Core/Project.Core.csproj" (default target) (3:3) -> 
(CoreCompile target) -> 
    CSC : error CS2001: Source file `/additionalfile:/Users/someuser/Project/.sonarqube/conf/cs/SonarLint.xml' could not be found [/Users/someuser/Project/Project.Core/Project.Core.csproj] 
    CSC : error CS2001: Source file `/additionalfile:/Users/someuser/Project/.sonarqube/conf/Project.Core_AnyCPU_Debug_1267/ProjectOutFolderPath.txt' could not be found [/Users/someuser/Project/Project.Core/Project.Core.csproj] 

两个文件,在文件系统中存在,第一个文件扫描仪的创建开始调用第二个文件被创建在MSBuild执行期间。

为什么MSBuild无法找到/访问这两个文件?有什么可以做的吗?

+0

你检查了文件的权限吗? – Jason

+0

@Jason,是的,文件夹和文件是世界可读的。 – Benjamin

+0

单声道MSBuild仍然是实验性的。将这些问题报告给他们的GitHub仓库,他们必须解决这些问题。 –

回答

0

与照顾的MSBuild的人检查后,该解决方案已经在提供这种Github issue thread

从GitHub的问题引述激进的评论:

您可以尝试通过将与CSC建设/p:CscToolExe=csc.exe /p:CscToolPath=/Library/Frameworks/Mono.framework/Versions/4.8.0/lib/mono/msbuild/15.0/bin/Roslyn/到的MSBuild

不幸的是,即使MSBuild与上述工作调整后,SonarQube事后失败。我会跟进SonarQube人员,看看是否可以解决这个问题。

相关问题