我尝试了多种方法以通用方式复制解决方案中的所有项目。 这意味着我想在不同的解决方案上使用相同的dockerfile,这将自动复制其中的所有项目并从中创建映像。 这是我的dockerfile:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
COPY . ./
RUN dotnet publish Dmail.API -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/Dmail/out .
ENTRYPOINT ["dotnet", "Dmail.API.dll"]
这是我的文件夹结构:
-Solution 'Dmail':
- Dmail.API(dockerfile inside)
- Dmail.Core
- Dmail.Data
我希望我的dockerfile将在Dmail中复制以下所有项目,构建它们并创建一个可以使用的映像。
我尝试创建图像时收到的错误:
MSBUILD : error MSB1009: Project file does not exist.
Switch: Dmail.API
The command '/bin/sh -c dotnet publish Dmail.API -c Release -o out' returned a non-zero code: 1