.net 应用程序 生成Docker映像时 dotnet restore找不到自定义源的包的问题,ContainerBuildAndLaunch任务意外失败
一、问题:
我们在.net 应用中生成Docker映像时,会出现ContainerBuildAndLaunch任务意外失败的问题。
查看输出窗口发现,是执行dotnet restore时,找不到包的问题,因为我的这些包是在自己的私有源上
二、解决方案:
在Dockerfile文件中,在执行dotnet restore前一行添加nuget私有源就行了,如下代码
RUN dotnet nuget add source https://***.cn/nuget -n My.nuget
注意:包源地址需要和项目引用包源地址一致,名称是否一致无所谓,不加用户名和密码也行
如下图所示:
三、问题原因:
1. 由于Dockerfile是在Docker里面执行的,所以Dockerfile里面的dotnet环境是容器环境,因此此时的dotnet restore 没有外部的包源,只有默认的nuget.org,所以出现找不到包的错误
2. 在Dockerfile文件里面执行RUN dotnet nuget list source即可验证这个问题
2. 我也尝试过复制Nuget.Config文件,但是太复杂,不建议。
四、后记:
1. 刚开始遇到这个问题的时候,也查了很多资料,根本没有相关的问题记录,所以我解决了以后马上就记在这里,供网友参考。
2. 如果您觉得有用或者解决了您的问题,请顶我加关注。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!