簡短的答案:沒有支援這樣做的方法.但是你可以嘗試一下來解決這個問題.
長答案
您需要解決多個問題:
>您可能用于将分析結果推送到SonarQube伺服器的MsBuild的SonarQube掃描器正在從SQ伺服器中拉下活動規則.然後,它通過ruleset參數傳遞到msbuild中的CoreCompile任務.是以即使你建立了自己的,那将被删除參數,并改為聲納一個.
>結束步驟将問題推送到SQ伺服器,但SQ伺服器将忽略不知道的任何規則ID.是以在你的情況下,所有的CS *問題将被忽略.
目前我不認為這些問題有一個簡單的解決方案.一般的建議是建立你的SQ插件,它定義所有的CS *規則.将這些規則納入規則集檔案(可能在begin和build階段之間),解析輸出json檔案并将結果發送到伺服器.這可以工作,但這是一個很大的任務,有很多地方可以去幹草.
另一種方法是看看SonarQube Roslyn SDK.這個SDK讓我們從Roslyn nuget分析儀中建立一個SonarQube插件.如果你建立了這樣一個插件,你會看到它嵌入了2-3個XML檔案.這些檔案描述了插件的規則.為了支援你的情況我會:
>建立一個具有一個規則的Roslyn分析器包. (其中沒有報告任何問題.)
>更改嵌入檔案以定義CS *規則.獲得所有CS *規則的清單可能不是那麼容易,但this可能是一個好的開始.>将SQ插件部署到SQ伺服器,并希望它可以正常工作.