【发布时间】:2020-12-12 22:41:05
【问题描述】:
在 Windows 10 企业版上。 Docker 版本 2.3.0.4 社区。使用 Visual Studio 2019。带有 docker 支持的简单 asp.net 核心项目。它可以构建。使用 Windows 容器。然后在 Docker 中运行,我得到:
框架“Microsoft.AspNetCore.App”,版本“3.1.0”不是 找到了。
在我的 Dockerfile 中:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1803 AS base
在 PC 上,我在文件夹 C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App 中有一个包含此版本框架的文件夹“3.1.0”。
在Powershell中,我试过拉框架,结果如下。
docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1803
3.1-nanoserver-1803: Pulling from dotnet/core/aspnet
Digest: sha256:3b4383b72b53a00895267571d08e9591eab1b914f35b2c2c4a2413d178eca089
Status: Image is up to date for mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1803
mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1803
所以我真的不明白为什么docker找不到。
【问题讨论】:
-
我们在这里需要一个minimal reproducible example。显示你的整个 dockerfile 以及你在做什么来运行它,等等。
-
Docker 文件:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1803 作为基础 WORKDIR /app EXPOSE 8082 EXPOSE 443 FROM mcr.microsoft.com/dotnet/core/sdk :3.1-nanoserver-1803 AS build WORKDIR /src COPY ["SharesD.csproj", ""] RUN dotnet restore "./SharesD.csproj" COPY 。 .工作目录“/src/.”运行 dotnet build "SharesD.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "SharesD.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=发布 /app/publish 。入口点 ["dotnet", "SharesD.dll"]
-
我正在运行 dockerfile,方法是使用 GUI 中的“Docker”按钮将其从 Visual Studio 发送到 docker。然后我在 Docker 仪表板中看到正在运行的映像。
-
这是仪表板的完整输出:找不到任何兼容的框架版本 找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0”。 - 发现以下框架:3.1.0-preview3.19555.2 at [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] 您可以通过安装指定的框架和/或 SDK 来解决问题。可以在以下位置找到指定的框架:-aka.ms/…
-
请编辑问题。您应该避免在 cmets 中添加详细信息
标签: c# asp.net docker asp.net-core