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

Docker构建.NET Web API依赖复制失败,报错找不到csproj文件求助

解决.NET Web API Docker构建时找不到项目文件的问题

错误原因

你在/WebApi目录执行docker build -t my-api .时,Docker的构建上下文被限定为当前的/WebApi目录,但Core、DependencyResolution、Infrastructure.Common、Infrastructure.Data这些项目都在/WebApi的上级目录(MyApp.WebApi根目录)里。Docker无法访问构建上下文之外的文件,因此会提示找不到这些.csproj文件。

解决方法

最直接的修复方式是将构建上下文切换到包含所有项目的根目录:

  1. 切换终端目录到MyApp.WebApi根目录(即/WebApi的父目录)
  2. 执行以下构建命令,指定Dockerfile的路径:
docker build -t my-api -f WebApi/Dockerfile .

这个命令里的.代表把MyApp.WebApi根目录作为构建上下文,-f WebApi/Dockerfile指定使用WebApi子目录里的Dockerfile。此时Dockerfile里的所有COPY路径(比如Core/Core.csproj)都能在构建上下文里找到对应的文件,可正常完成复制及后续的restore、build步骤。

额外说明

Rider自动生成的Dockerfile是基于解决方案根目录作为构建上下文的前提编写的,只要在正确的目录执行构建命令,就能匹配Dockerfile里的路径逻辑,无需修改Dockerfile内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:25:00