Github Action 构建部署 Docker ASP.NET Core 8 Web API 失败 - 找不到引用的项目

问题描述 投票:0回答:1

我正在尝试使用引用解决方案中的一些其他项目的 Github Action 来构建和部署 .Net 8 Web API。我收到错误

“跳过项目 “/src/x.Auth.Application/x.Auth.Application.csproj” 因为没找到。”

这是我的 Docker 文件:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["x.Auth.Api.csproj", "x.Auth.Api/"]
COPY ./nuget.config ./
RUN dotnet restore "./x.Auth.Api/./x.Auth.Api.csproj" --configfile nuget.config 
WORKDIR "/src/x.Auth.Api"
COPY . .
RUN dotnet build "./x.Auth.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./x.Auth.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "x.Auth.Api.dll"]

我想我还需要复制 Docker 文件中的引用。

COPY ["./x.Auth.Application/x.Auth.Application.csproj", "x.Auth.Api/"]

但是处理Docker文件时,找不到x.Auth.Application.csproj

错误:无法解决:无法计算缓存密钥:无法 计算 ref 的校验和 544d66h1-12d6-4034-81g2-acacd40905b6::5c6647p590crca9mqzatprf96a: “/x.Application/x.Auth.Application.csproj”:未找到

文件夹结构如下:

x/
  x.Auth.Application/
     |__x.Auth.Application.csproj
  x.Auth.Api/
     |__x.Auth.Api.csproj
     |__DockerFile
docker github-actions asp.net-core-8
1个回答
0
投票

我明白了

我更新了调用 Dockerfile 的上下文(Github Action)以指向父文件夹,并将 x.Auth.Api/ 添加到该 Docker 文件中的每个路径中

© www.soinside.com 2019 - 2024. All rights reserved.