目前我們在構建過程中正在運行SonarQube分析。我們希望在Visual Studio 2015本地運行我們的質量配置文件。爲此,我們爲Visual Studio創建了一個規則集,並打開了在我們的質量配置文件中啓用的規則。 SonarLint對此進行了整合,但FxCop規則並未同步(目前)。啓用FxCop規則時,Visual Studio會凍結。所以這不是我們的選擇。SonarQube MSBuild跑步者不能使用移植的FxCop Roslyn規則添加到項目中
我們嘗試過的另一個選擇是創建基於FxCop和Roslyn的規則集。正在嘗試創建一個僅限roslyn的規則集。所以我們已經添加了FxCop port to Roslyn rules NuGet包出來的項目。但是當我們使用MSBuild Runner 2.1運行SonarQube時,我們收到以下錯誤:MSBUILD : error : CA0059 : Invalid settings passed to CodeAnalysis task. See output window for details.
即使未打開這些規則或使用默認的Microsoft規則集,我們也會收到此錯誤。
當我看看的MSBuild的日誌我看到下面的(爲便於閱讀,刪除了很多的規則):
/rulesetdirectory:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\\Rule Sets"
/rule:"-C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\FxCop\\Rules"
/ruleid:"-Microsoft.Performance#CA1820"
/ruleid:"-Microsoft.Reliability#CA2002"
/ruleid:"-Microsoft.Usage#CA1816
-Microsoft.Usage#CA2208"
/ruleid:"-Microsoft.Usage#CA2216"
/searchgac /ignoreinvalidtargets
/forceoutput /successfile /ignoregeneratedcode /saveMessagesToReport:Active,Excluded
/timeout:120
/reportMissingIndirectAssemblies
Switch '/microsoft.usage#ca2208" /ruleid' is an unknown switch.
Type 'FxCopCmd.exe /?' for help on command-line arguments.
MSBUILD : error : CA0059 : Invalid settings passed to CodeAnalysis task. See output window for details.
Code Analysis Complete -- 1 error(s), 0 warning(s)
它看起來像SonarQube不正確產生這種情況的FxCop的說法。有誰知道這個問題的解決辦法?
在此先感謝。
我創建了一個GitHub的攝製哪裏這個問題可以被複制:https://github.com/mvdiemen/SonarQubeFxCopRoslyn所有的
你可以與我們分享一個最小的工作(失敗)repro? – Tamas
@ Tamas-SonarSourceTeam我在Github上創建了一個repro,因此可以重現問題。如果您有任何問題或者無法重現問題,請與我聯繫。在此先感謝您的幫助! – mrtentje
@ Tamas-SonarSourceTeam是否可以重現該問題?你有(快速)修復如何解決這個問題?在此先感謝 – mrtentje