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

ASP.NET Core构建报错:还原与构建使用的.NET Core版本不一致

解决Microsoft.NETCore.App版本还原与构建不匹配的错误

这个问题我太熟悉了!这是典型的.NET项目还原与构建阶段配置不一致导致的版本冲突——你还原项目时用的是Microsoft.NETCore.App 2.1.0-rc1,但构建时系统自动切换成了2.1.0-preview3-26411-06,核心原因就是还原、构建、发布全流程的环境配置必须完全统一,尤其是当你在构建/发布阶段指定了RuntimeIdentifier但还原阶段没同步设置时,大概率会触发这个报错。

下面是几个靠谱的解决方法,你可以根据自己的场景选择:

  • 方案一:同步指定RuntimeIdentifier(最常用)
    如果你是在构建或发布时指定了RuntimeIdentifier(比如win-x64、linux-x64这类目标运行时标识),那还原阶段必须同步加上这个参数,确保环境一致。
    先执行带RuntimeIdentifier的还原命令:

    dotnet restore -r <你的目标RuntimeIdentifier>
    

    举个例子,如果你用的是Windows x64环境,就运行:

    dotnet restore -r win-x64
    

    之后再执行对应的构建命令:

    dotnet build -r win-x64
    
  • 方案二:在项目文件中固定框架版本
    直接在你的.csproj项目文件里添加配置,强制指定项目使用的Microsoft.NETCore.App版本,让还原和构建都用同一个版本:

    <PropertyGroup>
      <!-- 替换成你需要的版本,这里是2.1.0-rc1 -->
      <RuntimeFrameworkVersion>2.1.0-rc1</RuntimeFrameworkVersion>
    </PropertyGroup>
    

    保存文件后,重新执行dotnet restore和dotnet build即可。

  • 方案三:通过global.json锁定SDK版本
    有时候问题出在全局SDK版本切换上,你可以先查看当前使用的SDK版本:

    dotnet --version
    

    如果当前SDK版本和你还原时用的不一致,就在项目根目录创建global.json文件,指定项目要使用的SDK版本:

    {
      "sdk": {
        "version": "2.1.0-rc1"
      }
    }
    

    这样项目会优先使用你指定的SDK版本,避免版本不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:59:22