无法构建在 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 年构建并完美运行。
有什么想法吗?
我正在尝试使用以下 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 年构建并完美运行。
有什么想法吗?