You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行使用Microsoft.CodeAnalysis.NetAnalyzers执行.NET应用代码分析

解决方案
  • 第一步:修改项目配置
    编辑你的 .NET Core 3.1 控制台应用对应的 .csproj 项目文件,在 <PropertyGroup> 节点中添加如下配置,启用构建时自动运行分析、并将分析问题按规则级别拦截构建:
<PropertyGroup>
  <!-- 构建时自动触发代码分析 -->
  <RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
  <!-- 代码分析告警转为错误,触发后直接中断构建,可根据需要调整 -->
  <CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
  <!-- 指定分析规则集版本,适配当前框架版本即可 -->
  <AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>
  • 第二步:命令行执行代码分析
    .NET Core 3.1 版本可直接通过 build 命令触发分析,输出所有问题到控制台:
  1. 若需要完整构建同时跑分析,执行:dotnet build 你的项目/解决方案路径
  2. 若仅需单独跑代码分析不执行完整构建流程,执行:dotnet build 你的项目/解决方案路径 /t:Analyze
    只要存在符合错误级别的代码分析问题,命令会返回非0退出码,CI流程会自动中断后续步骤,效果和TypeScript项目的ESLint检查一致。
  • 第三步(可选):自定义规则严重级别
    如果你不需要将所有分析告警都转为错误,可在项目根目录新增 .editorconfig 文件,单独调整每条规则的严重级别,示例配置如下:
# 将CA1822规则设为错误级别,触发即中断构建
dotnet_diagnostic.CA1822.severity = error
# 将CA1050规则设为警告级别,仅输出不中断构建
dotnet_diagnostic.CA1050.severity = warning
# 忽略CA1707规则,不输出也不拦截
dotnet_diagnostic.CA1707.severity = none

注意:请确保你安装的 Microsoft.CodeAnalysis.NetAnalyzers NuGet 包版本兼容 .NET Core 3.1,推荐使用5.x系列版本,更高版本可能依赖更高的.NET运行时无法正常工作。

内容的提问来源于stack exchange,提问作者Dmitry Mishin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:57:08