2016-02-02 68 views
3

我建設,並具有以下配置構建服務器上分析樣品C#項目:的FxCop必須安裝錯誤

  • 詹金斯1.630;
  • SonarQube 5.3的所有更新;
  • 的FxCop 10.0

我把詹金斯招聘以下步驟:

  • SonarQube掃描儀的MSBuild的 - 開始分析
  • 建設使用的MSBuild(的MSBuild 14)一個Visual Studio項目或解決方案
  • 用於MSBuild的SonarQube掃描儀 - 結束分析

如果在默認的C#配置文件中沒有FxCop規則,則一切正常:項目在沒有警告的情況下進行編譯,然後進行分析。如果有至少一個的FxCop,構建失敗:

V:\JenkinsWkFolder\Test\.sonarqube\bin\targets\SonarQube.Integration.targets(402,5): error : FxCop must be installed when some of its rules are enabled in the SonarQube quality profile. FxCop is included as part of Visual Studio. [V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj] 

Done Building Project "V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj" (Rebuild target(s)) -- FAILED. 
Done Building Project "V:\JenkinsWkFolder\Test\CITest.sln" (rebuild target(s)) -- FAILED. 

Build FAILED. 

"V:\JenkinsWkFolder\Test\CITest.sln" (rebuild target) (1) -> 
"V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj" (Rebuild target) (2) -> 
(FailIfFxCopNotInstalled target) -> 
    V:\JenkinsWkFolder\Test\.sonarqube\bin\targets\SonarQube.Integration.targets(402,5): error : FxCop must be installed when some of its rules are enabled in the SonarQube quality profile. FxCop is included as part of Visual Studio. [V:\JenkinsWkFolder\Test\CSharpConsoleApp\CSharpConsoleApp.csproj] 

    0 Warning(s) 
    1 Error(s) 

的FxCop安裝在構建服務器上,而Visual Studio是不是。 MsBuildSonarRunner在哪裏查找FxCop可執行文件?

我不知道你是否需要其他信息,請隨時詢問更多細節。 在此先感謝。 最好的問候,

馬里奧。

+0

是FXcop的路徑嗎? –

+0

謝謝你的回覆,@ sam持有人。我在步驟** Build Environment中設置FxCop路徑** /將環境變量注入到構建過程 '屬性內容:PATH = C:\ Program Files(x86)\ Microsoft Fxcop 10.0; C:\ ....' 除了 「附加參數:/ d:sonar.verbose = true」之外是否還有其他更深入的調試選項?** SonarQube Scanner for MSBuild - Begin Analysis **? – Mario

+0

我從命令行運行msbuild,具有相同的錯誤。在最大詳細程度(診斷)下執行此操作時,存在可疑錯誤: **目標「SetFxCopAnalysisResult」由於假條件而被跳過; ($(SonarQubeRunMSCodeAnalysis)=='true')被評估爲(=='true')** 問題,在我看來,是一個來自msbuild規則集的錯誤,與fxcop安裝無關。 – Mario

回答

2

SonarQube僅支持MSBuild 14和FxCop 14(MSBuild 12/FxCop 12將很快棄用)。

不幸的是,當從VisualStudio單獨安裝MSBuild Tools時,FxCop沒有與MSBuild一起安裝。要獲得FxCop 14,您必須安裝Visual Studio 2015(FxCop 10是可以單獨安裝的最新版本)。 在互聯網上,您可以找到方法來手動安裝FxCop 14而不使用VS2015,但這不是Microsoft官方程序。

+0

Dear Olivier,謝謝你的回覆。我努力在沒有Visual Studio的情況下安裝FxCop(我想讓構建服務器儘可能最輕),但是我必須面對奇怪的錯誤,並且需要手動修改所有.csproj以指向fxcop安裝。 然後,我決定擺脫fxcop規則,並用sonar c#或resharper替換它們。再次感謝。 – Mario

相關問題