msbuild - SonarQube 具有基于 Roslyn 的自定义规则

标签 msbuild sonarqube roslyn sonarqube-msbuild-runner

我有 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/

相关文章:

.net - 将非引用项目从解决方案复制到解决方案的启动项目

c# - 使用 MSBuild,我可以签署一个在文件中指定密码的应用程序吗?

java - Sonar : Array should contain trailing comma

c# - 使用 Roslyn CodeFixProvider 向方法添加参数

c# - 为多行 lambda 创建表达式树的 Roslyn 流畅语法

c# - 转换为嵌套类格式

c# - C# 开发工作的项目结构

powershell - 从 PowerShell 运行 MSBuild

android - SonarLint 命令行工具 - 添加文件/文件夹异常(exception)

java - Maven:组合 2 个配置文件时没有覆盖范围