我有 SonarQube 5.3.1,并安装了 C# 插件 4.5.0。 按预期检测到基本包含的规则。
现在,我想使用 Roslyn SDK 项目 ( https://github.com/SonarSource-VisualStudio/sonarqube-roslyn-sdk ) 来添加我定制的分析器。
我很确定它们没问题,因为它们是在 Visual Studio 中以及在命令行中使用 msbuild 时引发的。
我现在的问题是能够将这些问题上传到 Sonar,我一定错过了一些东西。
我显然使用了 MSBuild v2.0 的 SonarQube Scanner,已经安装了生成的 jar 并激活了规则(出现在“Code Smell”中),尝试构建一个应该打破我的规则的项目(并且它们确实这样做) ,正如我之前所说),但它似乎没有遵循我的规则。
文档( https://blogs.msdn.microsoft.com/visualstudioalm/2016/02/18/sonarqube-scanner-for-msbuild-v2-0-released-support-for-third-party-roslyn-analyzers/ )说它应该“生成包含所有分析器的分析错误和警告的错误报告”,然后将其上传到 SonarQube,但我找不到此报告。至少,只是一个 SonarLint 输出文件,没有任何相关规则。
我还按照 github 页面的建议尝试使用 Wintellect Analyzer ( https://github.com/SonarSource-VisualStudio/sonarqube-roslyn-sdk ),但没有成功。
我的猜测是配置中某个地方出了问题,但我不知道哪里出了问题,知道吗?
最佳答案
对于您想要在 SonarQube 中使用的每个自定义分析器(例如:Wintellect),您需要使用 Roslyn SDK for SonarQube 工具来创建可以导入到 SonarQube 中的插件。路线和信息可以找到here .
关于msbuild - SonarQube 具有基于 Roslyn 的自定义规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523510/