我正在使用FxCop自定義規則在SonarQube上運行分析。 在SonarQube 4.5.7中,我將規則添加到一組規則中,然後激活它,然後運行分析。 要運行我使用下面的命令的序列的分析:C#項目中的SonarQube 4.5.7中的FxCop規則
1) MSBuild.SonarQube.Runner.exe begin /k:my.project.C-Sharp-ConsoleApp /n:C-Sharp-ConsoleApp /v:1.1
2) "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild" /T:Rebuild
3) MSBuild.SonarQube.Runner.exe end
我看到該規則被執行,因爲,當我運行第二個指令I讀日誌的以下部分:
...
(RunCodeAnalysis target) ->
MSBUILD : warning CR1000: MyRules : Field 'CSharpSortNames.m_variabile' is not in Hungarian notation. Field name should be prefixed with 's'. [C:\Users\Alessandro\Documents\Visual Studio 2015\Projects\C-Sharp-ConsoleApp\C-Sharp-ConsoleApp\C-Sharp-ConsoleApp.csproj]
我的自定義規則checkID是CR1000,在第三個命令之後,我看到這個規則的錯誤被創建,但是web應用程序不讓我看到在哪裏。對於所有其他錯誤,Web應用程序讓我通過指向.cs文件的鏈接查看錯誤的確切位置。對我的規則來說,它並不是。
任何人都可以幫到我嗎? 進一步的問題是在SonarQube 5.4中激活了相同的規則,但是網絡應用程序不顯示錯誤。
感謝您的回答。接下來幾天我證明了你說的話,然後我用綠色標記你的評論 – grandeale8
在sonarqube 5.4上,我有C#插件5.2,這沒有找到關於我的FxCop自定義規則的錯誤。 – grandeale8
關於sonarqube 5.4我有C#插件5.2,這沒有找到關於我的FxCop自定義規則的錯誤。但是如果我將C#插件更新到v5.3,它會找到我的自定義規則。這是一個聲明的錯誤,所以它不顯示行代碼。因此,沒有位置信息的FxCop違規問題可以通過C#plugin v5.3解決。謝謝。 @NicoleCalinoiu – grandeale8