2017-03-05 123 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人員,看看是否可以解決這個問題。

相關問題