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

如何用MSDeploy在服务器更新NuGet包?Jenkins部署EPPlus 4.1.1找不到

解决Jenkins部署.NET MVC项目时找不到EPPlus 4.1.1包的问题

先明确你遇到的具体错误:

D:\servers\jenkins\jobs\TEST\workspace.nuget\NuGet.targets(100,9): error : Unable to find version '4.1.1' of package 'EPPlus'. [D:\servers\jenkins\jobs\TEST\workspace\NIDD\MYProj.csproj]

这种本地运行正常但Jenkins部署失败的情况,我之前处理过好几个类似案例,基本都是服务器端的NuGet配置或缓存问题,给你几个一步步排查的方案:

  • 检查Jenkins服务器的NuGet源配置
    登录Jenkins所在的服务器,先手动验证能不能搜到目标包:打开命令行,运行nuget list EPPlus -Version 4.1.1。如果搜不到,说明服务器的NuGet源没配置对——大概率是没加nuget.org公共源,或者源地址有误。你需要在Jenkins的全局工具配置里(或者项目根目录的NuGet.config文件中)确认<packageSources>节点包含能获取EPPlus的源,比如:

    <packageSources>
      <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    </packageSources>
    

    如果用了私有源,还要确保服务器能正常访问该源(比如网络权限、认证信息是否正确)。

  • 清理Jenkins工作区的NuGet缓存
    Jenkins工作区的旧缓存很可能拖后腿。你可以:

    1. 手动删除工作区里的.nuget文件夹(就是错误里提到的D:\servers\jenkins\jobs\TEST\workspace.nuget目录);
    2. 或者在Jenkins构建步骤里添加一个预处理命令:nuget locals all -clear,先清空所有NuGet缓存,再执行包还原操作。
  • 升级Jenkins使用的NuGet版本
    旧版本的NuGet可能不支持新的包源协议或者部分包的版本。去Jenkins的「全局工具配置」里,把NuGet工具升级到5.x及以上的稳定版,然后在项目构建时指定使用这个新版本来执行还原操作。

  • 强制重新还原NuGet包
    不要依赖项目自动还原,在构建脚本里手动添加强制还原命令:nuget restore D:\servers\jenkins\jobs\TEST\workspace\NIDD\MYProj.csproj -Force,确保在MSDeploy部署之前执行这个命令,并且确认它执行成功后再继续部署流程。

  • 检查代码仓库里的NuGet.config
    本地的NuGet.config可能配置了正确的源,但你推送代码时有没有把这个文件同步到仓库?确认Jenkins拉取的代码根目录下的NuGet.config是正确的,避免服务器使用默认源配置导致找不到包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:40:07