Docker 构建失败,当前 .NET SDK 不支持面向 .NET Core 2.1

标签 docker asp.net-core .net-core docker-compose

在 Windows 10 上执行此操作:

>docker-compose -f docker-compose.yml build
Building MyApprestapi
Step 1/17 : FROM microsoft/aspnetcore:2.0 AS base
 ---> 6237a4750408
Step 2/17 : WORKDIR /app
Removing intermediate container ae0057e8752c
 ---> d422fca6b533
Step 3/17 : EXPOSE 11001
 ---> Running in 70f6f9a9d052
Removing intermediate container 70f6f9a9d052
 ---> 673d1c1d8f34
Step 4/17 : FROM microsoft/aspnetcore-build:2.0 AS build
 ---> f5f1d9a332af
Step 5/17 : WORKDIR /src
Removing intermediate container 0c5e68914dfd
 ---> 035e0d5467bf
Step 6/17 : COPY MyAppPipeline.sln ./
 ---> b0ccbf6431b4
Step 7/17 : COPY MyAppRestApi/MyAppRestApi.csproj MyAppRestApi/
 ---> 3216ad77f880
Step 8/17 : RUN dotnet restore -nowarn:msb3202,nu1503
 ---> Running in f0b9fa8dbbd4
C:\Program Files\dotnet\sdk\2.1.200\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(135,5): error : The current .NET SDK does not support targeting .NET Core 2.1.  Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1. [C:\src\MyAppRestApi\MyAppRestApi.csproj]
ERROR: Service 'MyApprestapi' failed to build: The command 'cmd /S /C dotnet restore -nowarn:msb3202,nu1503' returned a non-zero code: 1

如果我这样做:

>dotnet --info

.NET Core SDK (reflecting any global.json): Version: 2.1.300 Commit: adab45bf0c

Runtime Environment: OS Name: Windows OS Version: 10.0.17134 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\2.1.300\

Host (useful for support): Version: 2.1.0 Commit: caa7b7e2ba

.NET Core SDKs installed: 1.0.0-preview2-003131 [C:\Program Files\dotnet\sdk] 2.1.2 [C:\Program Files\dotnet\sdk] 2.1.104 [C:\Program Files\dotnet\sdk] 2.1.300 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 1.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

最佳答案

问题出在我的 DockerFile 上,它是在创建项目时生成的。 我不得不使用此处列出的替代品:

https://github.com/dotnet/dotnet-docker

microsoft/dotnet:2.1-aspnetcore-runtime
microsoft/dotnet:2.1-sdk

关于Docker 构建失败,当前 .NET SDK 不支持面向 .NET Core 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50787895/

相关文章:

asp.net-core - app.UseErrorHandler() 可以访问错误详细信息吗?

NLog 与 DNX Core 5.0

azure - 如何将请求重定向到通过 Azure 应用服务托管的不同 Web 应用

node.js - 从 Java(Spring Boot)或 Node.js 检查/连接到在 docker 中运行的 Redis

javascript - 我无法转到 wwwroot ASP.NET 和 React.js 上的页面

docker - 图像未推送到 docker 私有(private)存储库中

docker - 使用Docker在Windows容器上的时间偏移了两个小时

c# - 如何从 App.Metrics 禁用所有跟踪日志

linux - Linux 上的 Docker : All actions (hello-world, 拉取镜像等)产生超时

postgresql - 用于使用 postgres 数据库进行应用程序测试的 Docker 容器