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

旧csproj迁移至SDK风格项目后.editorconfig的NU1603忽略规则失效

问题描述

现有基于旧式 .csproj 格式的解决方案,目标框架为 .NET Framework 4.8,使用 MSBuild 版本为 17.2.1.25201。
此前通过 .editorconfig 配置警告严重级别,示例配置如下:

[*.cs]
# XXX 3.1.0.153 depends on YYY (>= 3.1.0) but YYY 3.1.0 was not found. 
# An approximate best match of YYY 3.1.0.69 was resolved.
dotnet_diagnostic.NU1603.severity = none

该配置此前可正常生效,配置后 NU1603 警告不再显示。
项目迁移至新版 SDK 风格项目格式后,.editorconfig 中的上述配置失效,NU1603 警告重新出现。
迁移后使用的新 *.csproj 文件内容如下:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <ProjectGuid>{XXXX...}</ProjectGuid>
    <TargetFramework>net48</TargetFramework>
    <AssemblyTitle>My.Module</AssemblyTitle>
    <Product>My.Module</Product>
    <OutputPath>bin\$(Configuration)\</OutputPath>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugType>full</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
  </PropertyGroup>

.editorconfig 文件存放在解决方案根目录,目录结构如下:

.\
.\My.ModuleA
.\My.ModuleB
.\My.sln
.\.editorconfig

问题更新:经排查,仅 NU1603 这一特定警告无法被忽略,其余警告的忽略规则均可正常生效。


原因与解决方案

该问题不属于 MSBuild 或编译器故障,核心原因是 NuGet 警告的配置读取逻辑在 SDK 风格项目中存在明确的范围限制:

  • 现有 NU1603 忽略规则写在 [*.cs] 配置节下,该节规则仅对后缀为 .cs 的代码文件生效。旧式非 SDK 风格项目中,NuGet 还原警告与 C# 编译警告共用一套配置读取逻辑,因此该规则可以命中 NU1603;SDK 风格项目中 NuGet 还原是独立于 C# 编译的单独流程,不会读取绑定到 .cs 文件范围的诊断规则,因此该配置对还原阶段生成的 NU1603 无效。
  • 其余警告规则可正常生效,是因为这些警告均为 C# 编译器处理 .cs 文件时抛出,正好匹配 [*.cs] 的作用范围。

修复步骤

  • 将 NU1603 的严重级别配置从 [*.cs] 节移到 .editorconfig 的根配置节(无文件匹配前缀的全局区域),让规则覆盖整个目录下的所有构建流程,修改示例:
# 全局配置,作用于当前目录及所有子目录的全构建流程
dotnet_diagnostic.NU1603.severity = none

[*.cs]
# 其余仅针对C#代码文件的诊断规则保留在该节下
  • 若上述修改后仍能看到 NU1603 警告,可在项目文件的 PropertyGroup 节点中添加兜底配置,直接在构建层面忽略该警告:
<NoWarn>$(NoWarn);NU1603</NoWarn>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:51:31