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

DevOps构建管道NuGetCommand报NU1202兼容性错误排查

解决NuGet NU1202兼容性错误的方案

错误原因分析

第一个错误(net70-windows不兼容)

当你用<TargetFramework>net7.0-windows</TargetFramework>构建发布MyPackage时,NuGet会根据项目默认配置自动补充具体Windows版本号(比如net7.0-windows10.0.17763)作为包的实际目标框架标识符(TFM)。但引用该包的项目若仅指定net7.0-windows(不带具体版本),NuGet会将其解析为最低兼容Windows版本,与包实际TFM不匹配,触发NU1202错误。

第二个错误(版本号后缀.0不兼容)

更新TargetOSVersion后,引用项目的TFM变为net70-windows10.0.17763.0(带.0后缀),而你的MyPackage的TFM是net70-windows10.0.17763(无.0后缀)。NuGet对TFM版本号匹配严格,后缀差异会被判定为框架不兼容。

解决方法

  • 统一TFM版本格式

    • 在MyPackage的项目文件中,明确指定带具体版本的TFM,例如:
      <TargetFramework>net7.0-windows10.0.17763</TargetFramework>
      
    • 同时将引用该包的项目的TargetFramework也设置为完全相同的net7.0-windows10.0.17763,确保两者TFM完全一致(注意不要添加.0后缀)。
  • 兼容多版本配置(可选)
    若需要让包支持多个Windows版本,可在MyPackage的项目文件中指定多个TFM,或通过<SupportedOSPlatformVersion>设置最低兼容版本,示例:

    <TargetFramework>net7.0-windows</TargetFramework>
    <SupportedOSPlatformVersion>10.0.17763.0</SupportedOSPlatformVersion>
    

    这样NuGet会正确识别包的兼容范围,避免因版本号格式差异导致的不兼容错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:22:18