SonarQube扫描C#代码


SonarQube官网

SonarQube是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。

用SonarQube实现什么功能?

用SonarQube扫描C#代码并上传扫描结果到服务器。

SonarLint for Visual Studio 是什么?

SonarLint是一个IDE扩展,可以帮助您在编写代码时检测和修复质量问题。就像拼写检查器一样,SonarLint可以在提交代码之前修复缺陷。你可以直接从VS Marketplace获得它,然后它会在你编写代码时检测新的bug和质量问题(c#, VB)。. NET、JavaScript、TypeScript、C和c++)。

SonarLint官网

SonarLint for Visual Studio 2022

Git:sonarlint-visualstudio

sonarlint-visualstudio/wiki

注意:SonarLint for Visual Studio插件可以检测代码的问题,但是无法把检测报告上传服务器。

使用SonarQube扫描检测C#/.NET代码并上传到服务器

Quickstart: Analyzing .NET projects with SonarQube, MSBuild or Visual Studio Online, and third-party analyzers (StyleCop, ReSharper)

Git:sonar-scanner-msbuild

一、配置MSBuild

如下图所示,在命令行中使用 msbuild -ver 查看MSBuild的版本号,如果无法运行此命令则需要在环境变量中添加MSBuild的Bin目录。

image-20230608134336744

如下图所示,找到MSBuild的Bin目录,并添加到环境变量中。

image-20230608134518625

确保此步骤中运行

MSBuild -ver

能够正确运行并显示相应的版本信息

二、下载安装 SonarScanner for MSBuild

1、从 https://github.com/SonarSource/sonar-scanner-msbuild/releases 地址下载安装sonar-scanner-msbuild程序,解压后在环境变量中配置此程序的路径。

2、打开sonar-scanner-msbuild程序目录,如下图所示,配置sonar.host.url,sonar.login,sonar.password信息。

image-20230608140106192

3、在命令行中输入 SonarScanner.MSBuild -h 查看相应的信息,如下图所示

image-20230608135545869

确保此步骤中运行

SonarScanner.MSBuild -h

能够正确运行并显示相应信息。

至此准备工作完成,开始生成代码检测信息并上传检测报告到服务器

三、使用SonarQube分析C#代码并上传服务器

1、如下图所示进入程序目录右键菜单并选择在终端中打开

image-20230608140538252

2、如下图所示,运行

SonarScanner.MSBuild.exe begin /k:"WindowsFormsApp1" /n:"WindowsFormsApp1" /v:"1.0"

命令,出现成功标记后会在程序目录生成 .sonarqube 文件夹。
image-20230608140954207

/key(简写k):对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey

/name(简写n):对应projectName即项目的名称,为项目的一个显示的名称,建立使用完整的项目名称

/version(简写v):对应projectVersion即项目的版本,项目在不同的时期版本也是不一样的,如果方便,可以在sonarQube的服务器中查看到不同的版本代码其中问题的变化

3、通过MSBuild编译项目

输入 MSBuild.exe /t:Rebuild /p:Configuration=Release 编译项目

image-20230608141713703

MSBuild命令介绍

命令 含义
MSBuild -t:Rebuild 默认为Debug模式
MSBuild -t:Rebuild -p:Configuration=Release 指定编译模式为Release
MSBuild MyApp.sln -t:Rebuild -p:Configuration=Release 指定.sln解决方案和编译模式Release

编译完成后出现如下提示
image-20230608142525809

4、上传扫描结果到服务器

运行
SonarScanner.MSBuild.exe end

命令,如下图所示

image-20230608143055432

命令运行完成后如下图所示

image-20230608143137680

5、至此扫描操作完成,扫描结果已上传到服务器可以到服务器进行查看。

Sonar系列

相关参考

posted @   lanwah  阅读(1815)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示