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

.NET升级后VS编译正常但dotnet publish报NETSDK1136错误

问题原因及解决办法

以下是可能导致该问题的几个原因及对应解决方式:

  • 发布命令指定了错误的目标框架
    执行dotnet publish时如果手动添加了-f net6.0参数,会覆盖项目文件中设置的net6.0-windows,触发NETSDK1136错误。解决时确保发布命令指定正确的框架,比如执行:

    dotnet publish -f net6.0-windows
    
  • 项目文件存在多框架配置冲突
    如果.csproj中使用了<TargetFrameworks>(复数)节点同时包含net6.0和net6.0-windows,发布时若未指定具体框架,会默认选择net6.0导致错误。要么删除多余的框架节点,只保留<TargetFramework>net6.0-windows</TargetFramework>;要么发布时明确指定目标框架。

  • 发布配置文件(.pubxml)覆盖了目标框架设置
    自定义的发布配置文件(通常在Properties/PublishProfiles目录下)可能硬编码了<TargetFramework>net6.0</TargetFramework>。打开对应的.pubxml文件,将该节点修改为net6.0-windows,保存后重新发布。

  • 全局.json锁定了不兼容的SDK版本
    项目根目录的global.json如果指定了低于6.0的.NET SDK版本,可能无法正确处理net6.0-windows的发布逻辑。检查global.json中的sdk.version,确保是6.0及以上的稳定版本,比如:

    {
      "sdk": {
        "version": "6.0.417"
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:36:23