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

Azure持续部署失败:NuGet客户端版本不兼容报错

解决Azure持续部署中NuGet版本不兼容问题

你的部署失败核心原因很明确:Azure当前使用的NuGet客户端版本(2.6.40619.9041)低于Microsoft.Bcl 1.1.10和Microsoft.Bcl.Async 1.0.168这两个包要求的最低版本2.8.1。下面给你几个实用的解决方向:

方法1:在项目中指定NuGet版本强制升级

你可以通过自定义配置让Azure部署时使用符合要求的NuGet版本:

  • 先在解决方案根目录创建(如果已有则跳过).nuget文件夹。
  • 在该文件夹内新建NuGet.Config文件,写入以下配置:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageRestore>
        <add key="enabled" value="True" />
      </packageRestore>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
      </packageSources>
    </configuration>
    
  • 下载NuGet 2.8.1或更高版本的NuGet.exe,放到.nuget文件夹中。这样部署脚本会优先使用你提供的NuGet版本,而非Azure默认的旧版本。

方法2:降级NuGet包适配现有客户端

如果暂时不想调整NuGet版本,也可以把冲突的包降级到兼容NuGet 2.6的版本:

  • 打开Visual Studio的NuGet包管理器控制台,执行以下命令:
    Install-Package Microsoft.Bcl -Version 1.1.9
    Install-Package Microsoft.Bcl.Async -Version 1.0.166
    
  • 这两个版本对NuGet客户端版本要求更低,能适配当前Azure环境的配置。

方法3:修改部署脚本自动升级NuGet

你还可以自定义部署脚本,在处理包依赖前自动升级NuGet:

  • 找到部署用的deploy.cmd文件,在调用NuGet还原包的命令前,添加这段代码:
    echo Updating NuGet to required version...
    nuget update -self -Version 2.8.1
    
  • 这样部署流程会先把NuGet升级到指定版本,再处理项目的包依赖。

提醒:如果用的是Azure App Service的自动部署(比如GitHub、Azure DevOps同步),记得把修改后的配置文件、脚本都提交到代码仓库,确保Azure能读取到这些变更。

内容的提问来源于stack exchange,提问作者rubens.lopes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:18:19