我正在使用Docker Compose构建ASP.NET Core应用程序,但在此指令上,我的Dockerfile中遇到错误:RUN dotnet publish。
我的Dockerfile由多阶段构建组成,从构建阶段的.NET Core SDK映像开始,到运行时阶段的ASP.NET Core映像结束。
我需要如何以不同的方式构建Dockerfile?
FROM mcr.microsoft.com/dotnet/core/sdk:2.1 AS build
WORKDIR .
COPY *.csproj ./
RUN dotnet restore "./MyCompany.WebAPI.MyApp.csproj" --configfile "./MyCompany.WebAPI.MyApp/NuGet.Config"
COPY . .
WORKDIR ./MyCompany.WebAPI.MyApp
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:2.1 AS runtime
WORKDIR .
COPY --from=build /MyCompany.WebAPI.MyApp/out ./
ENTRYPOINT ["dotnet", "MyCompany.WebAPI.MyApp.dll"]
错误:
步骤11/15:RUN dotnet发布-c释放-o out
无事可做。指定的项目均未包含要 恢复。 C:\ MyCompany.WebAPI.MyApp.csproj(191,3):错误MSB4019: 导入的项目“ C:\ Program Files \ dotnet \ sdk \ 2.1.801 \ Microsoft \ VisualStudio \ v16.0 \ WebApplications \ Microsoft.WebApplication.targets“ 没找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。错误:服务 'mycompany.webapi.myapp'构建失败:命令'cmd / S / C dotnet publish -c Release -o out'返回了非零代码:1