无法构建在 docker 中引用 PCL 的 ASP.NET 核心应用

Can't build ASP.NET Core app that references PCL in docker

我正在尝试使用以下 Dockerfile 构建 ASP.NET 核心 docker 映像:

FROM microsoft/aspnetcore-build:1.1.1
WORKDIR /app
COPY src .
RUN dotnet restore
RUN dotnet publish --output /out/ --configuration Release
EXPOSE 5000
ENTRYPOINT ["dotnet","/out/MyWebApp.dll"]

构建失败,并给出以下错误:

/app/MyPCL/MyPCL.csproj(70,3):错误 MSB4019:导入的项目“/usr/share/dotnet/sdk/1.0.1/Microsoft/Portable/v4.5/Microsoft.Portable.CSharp.targets“ 没有找到。确认声明中的路径正确,并且该文件存在于磁盘上。

所以它在构建 PCL 库时遇到了问题,因为它找不到 Microsoft.Portable.CSharp.targets。

我的 PCL 项目文件具有以下导入语句:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />

我认为这是导致问题的原因,因为此路径不能存在于 docker 容器中。顺便说一句,该项目在 Visual Studio 2017 年构建并完美运行。

有什么想法吗?

这似乎还不可能,但他们正在努力:

https://github.com/dotnet/cli/issues/5504

https://developercommunity.visualstudio.com/content/problem/25063/building-running-publishing-a-aspnet-core-net-fram.html