Azure DevOps中DotNetCoreCLI@2无法检测NuGet漏洞及构建中断需求
解决DotNetCoreCLI@2不显示NuGet漏洞警告并中断构建的问题
一、让DotNetCoreCLI@2显示漏洞警告并中断构建
VSBuild@1默认触发NuGet漏洞检测,但dotnet build默认不开启该功能,需要在DotNetCoreCLI@2的build命令中添加参数实现需求:
- 直接把漏洞警告转为错误(中断构建):添加
--warn-as-error:NU1902,NU1903(NU1902对应中危漏洞,NU1903对应高危漏洞) - 仅显示警告不中断:添加
--warn:NU1902,NU1903
Azure DevOps流水线任务配置示例:
- task: DotNetCoreCLI@2 displayName: 'Dotnet Build' inputs: command: 'build' projects: '**/*.csproj' arguments: '--configuration Release --warn-as-error:NU1902,NU1903'
二、按需精细控制
- 仅针对高危漏洞中断构建:只指定NU1903
arguments: '--configuration Release --warn-as-error:NU1903' - 查看所有级别漏洞警告(含低危NU1901):
arguments: '--configuration Release --warn:NU1901,NU1902,NU1903'
三、漏洞警告码说明
NuGet漏洞检测的警告码对应严重级别:
- NU1901:低严重级别漏洞
- NU1902:中严重级别漏洞
- NU1903:高严重级别漏洞
通过--warn-as-error指定对应警告码,就能让构建在检测到对应级别漏洞时自动失败,实现中断构建的目标。
内容的提问来源于stack exchange,提问作者user2912826
相关产品推荐
相关产品推荐

