gpt4 book ai didi

c# - 如何将类库引用包含到 docker 文件中

转载 作者:行者123 更新时间:2023-12-04 08:41:16 24 4
gpt4 key购买 nike

我正在尝试为 .net 核心应用程序构建 docker 文件,每当我尝试构建 docker 时,它都会引用类库,但出现以下错误。
跳过项目,因为找不到
下面是我正在使用的 docker 文件

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "testapp.dll"]

最佳答案

您需要将 Dockerfile 移动到解决方案级别,并使用 [Folder]/[Project].csproj 引用项目。
这是我的 Dockerfile(位于解决方案级别):

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

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ["SumApi/SumApi.csproj", "SumApi/"]
COPY ["Shared/Shared.csproj", "Shared/"]
RUN dotnet restore "SumApi/SumApi.csproj"
COPY . .
WORKDIR "/src/SumApi"
RUN dotnet build "SumApi.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "SumApi.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app`enter code here`
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "SumApi.dll"]
从这里学到的: https://imranarshad.com/dockerize-net-core-web-app-with-dependent-class-library/

关于c# - 如何将类库引用包含到 docker 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64557885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com