简体   繁体   English

Docker - 在构建时找不到框架 microsoft.AspNetCore.App,版本 '3.1'0

[英]Docker - The framework microsoft.AspNetCore.App, version '3.1'0 was not found on build

I'm attempting to learn about docker and how to containerize a .NET core Web app.我正在尝试了解 docker 以及如何容器化 .NET 核心 Web 应用程序。 I've been following the tutorial below and have made good progress except when I actually run my project.我一直在关注下面的教程并且取得了很好的进展,除非我实际运行我的项目。

https://devblogs.microsoft.com/premier-developer/running-a-net-core-web-application-in-docker-container-using-docker-desktop-for-windows/

I built a .NET Core app in visual studio and am using .NET Core 3.1 and I (think) have verified all the correct .NET core versions are installed, but docker seems to think that nothing is there.我在 Visual Studio 中构建了一个 .NET Core 应用程序,并且正在使用 .NET Core 3.1,我(认为)已经验证了所有正确的 .NET Core 版本都已安装,但 docker 似乎认为什么都没有。 My project builds correctly but when I attempt to run it, it barks at me that no .NET frameworks were found.我的项目构建正确,但是当我尝试运行它时,它对我咆哮说没有找到 .NET 框架。

I'm new to docker and .NET core so I could definitely be missing something obvious so let me know if you have any suggestions!我是 docker 和 .NET 核心的新手,所以我肯定会遗漏一些明显的东西,所以如果您有任何建议,请告诉我! Thanks!谢谢!

dotnet --info dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.1.101
 Commit:    b377529961

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

Host (useful for support):
  Version: 3.1.1
  Commit:  a1388f194c

.NET Core SDKs installed:
  3.0.102 [C:\Program Files\dotnet\sdk]
  3.1.101 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

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

docker pull mcr.microsoft.com/dotnet/core/runtime:3.1码头工人拉 mcr.microsoft.com/dotnet/core/runtime:3.1

3.1: Pulling from dotnet/core/runtime
ee446884f7be: Already exists
e60301a457d1: Already exists
9aa45ac596a4: Already exists
a0172a0e2f05: Already exists
0e4e03cc72ce: Already exists
d12a8fd361d3: Already exists
Digest: sha256:1a314313bbfc550897fb760dc05c816f42e7f911c8bb8a4c9b5bde3cdad6ac76
Status: Downloaded newer image for mcr.microsoft.com/dotnet/core/runtime:3.1
mcr.microsoft.com/dotnet/core/runtime:3.1

docker build -t aspnetapp . docker build -t aspnetapp 。 Sending build context to Docker daemon 4.392MB将构建上下文发送到 Docker 守护进程 4.392MB

Step 1/10 : FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
 ---> abe8d004f003
Step 2/10 : WORKDIR /app
 ---> Using cache
 ---> baf04998e0f5
Step 3/10 : COPY *.csproj ./
 ---> Using cache
 ---> 57d5b8ce9b8b
Step 4/10 : RUN dotnet restore
 ---> Using cache
 ---> 3a78664422c1
Step 5/10 : COPY . ./
 ---> 7ad7515946be
Step 6/10 : RUN dotnet publish -c Release -o out
 ---> Running in 7b9fd1655346
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 41.18 ms for C:\app\aspnetapp.csproj.
  aspnetapp -> C:\app\bin\Release\netcoreapp3.1\aspnetapp.dll
  aspnetapp -> C:\app\bin\Release\netcoreapp3.1\aspnetapp.Views.dll
  aspnetapp -> C:\app\out\
Removing intermediate container 7b9fd1655346
 ---> df9351064b25
Step 7/10 : FROM mcr.microsoft.com/dotnet/core/runtime:3.1
 ---> 96ec6546e277
Step 8/10 : WORKDIR /app
 ---> Running in 33e62d3940a5
Removing intermediate container 33e62d3940a5
 ---> 0fe4ecf63895
Step 9/10 : COPY --from=build-env /app/out .
 ---> fe8793b4a38d
Step 10/10 : ENTRYPOINT ["dotnet", "aspnetapp.dll"]
 ---> Running in a856a898d3f9
Removing intermediate container a856a898d3f9
 ---> 4802cf9997df
Successfully built 4802cf9997df
Successfully tagged aspnetapp:latest

dockerfile文件

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env

WORKDIR /app

# Copy csproj and restore as distinct layers

COPY *.csproj ./

RUN dotnet restore

# Copy everything else and build

COPY . ./

RUN dotnet publish -c Release -o out

# Build runtime image

FROM mcr.microsoft.com/dotnet/core/runtime:3.1

WORKDIR /app

COPY --from=build-env /app/out .

ENTRYPOINT ["dotnet", "aspnetapp.dll"]

docker error码头工人错误

docker run -p 8080:80 --name myapp aspnetapp
docker : It was not possible to find any compatible framework version
At line:1 char:1
+ docker run -p 8080:80 --name myapp aspnetapp
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (It was not poss...amework version:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.
  - No frameworks were found.
You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=3.1.0&arch=x64&rid=win10-x64

.csproj .csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>



</Project>

docker image -ls泊坞窗图像 -ls

REPOSITORY                              TAG                      IMAGE ID            CREATED             SIZE
aspnetapp                               latest                   4802cf9997df        14 minutes ago      326MB
<none>                                  <none>                   df9351064b25        14 minutes ago      748MB
<none>                                  <none>                   05d5c7a53a75        18 minutes ago      748MB
<none>                                  <none>                   cfc51668b9c9        40 minutes ago      400MB
<none>                                  <none>                   c158d7286812        40 minutes ago      782MB
<none>                                  <none>                   42135746c732        About an hour ago   400MB
<none>                                  <none>                   a898ac91a635        About an hour ago   748MB
<none>                                  <none>                   6c73f17b1c56        2 hours ago         1.66GB
<none>                                  <none>                   bcdcd1874e78        2 hours ago         1.66GB
myimage                                 latest                   1b4d8c7dffe4        3 hours ago         341MB
mcr.microsoft.com/dotnet/core/samples   aspnetapp                17070fe9e96c        8 days ago          346MB
mcr.microsoft.com/dotnet/core/samples   latest                   425e8480ff0f        8 days ago          322MB
hello-world                             latest                   42514ac01c56        3 weeks ago         251MB
mcr.microsoft.com/dotnet/core/sdk       3.1                      abe8d004f003        3 weeks ago         731MB
microsoft/dotnet                        sdk                      bd7379c04097        3 weeks ago         1.66GB
mcr.microsoft.com/dotnet/core/aspnet    3.1                      704413499629        3 weeks ago         341MB
mcr.microsoft.com/dotnet/core/runtime   3.1                      96ec6546e277        3 weeks ago         321MB
microsoft/dotnet                        2.1-aspnetcore-runtime   3c196369ffdc        3 weeks ago         395MB
microsoft/dotnet                        aspnetcore-runtime       3c196369ffdc        3 weeks ago         395MB
microsoft/dotnet                        3.0-aspnetcore-runtime   04b08b1edcee        11 months ago       437MB

For ASP.NET Core you need the matching container image from mcr.microsoft.com/dotnet/core/aspnet .对于 ASP.NET Core,您需要来自mcr.microsoft.com/dotnet/core/aspnet的匹配容器映像。 mcr.microsoft.com/dotnet/core/runtime doesn't have the extra ASP.NET Core pieces, it's only sufficient for .NET Core apps using the basic framework. mcr.microsoft.com/dotnet/core/runtime没有额外的 ASP.NET Core 部分,它仅适用于使用基本框架的 .NET Core 应用程序。

I solve this installing SDK for docker with PowerShell:我用 PowerShell 解决了这个为 docker 安装 SDK 的问题:

docker pull mcr.microsoft.com/dotnet/core/sdk:3.1

After that I change this lines of DockerFile in my project:之后,我在我的项目中更改了 DockerFile 的这一行:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build

to:到:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 控制台应用程序已更新为 .Net Core 3.1 错误找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0” - Console App Updated to .Net Core 3.1 Error The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found 在Visual Studio 7.5 Mac中找不到指定的框架&#39;Microsoft.AspNetCore.App&#39;版本&#39;2.1.0&#39; - The specified framework 'Microsoft.AspNetCore.App', version '2.1.0' was not found docker in visual studio 7.5 mac 找不到任何兼容的框架版本找不到指定的框架&#39;Microsoft.AspNetCore.App&#39;版本&#39;2.2.0&#39; - It was not possible to find any compatible framework version The specified framework 'Microsoft.AspNetCore.App', version '2.2.0' was not found 安装了.Net Core最新的SDK,但未找到'Framework'Microsoft.AspNetCore.App',版本'2.1.0' - .Net Core lastest SDK installed but getting 'Framework 'Microsoft.AspNetCore.App', version '2.1.0' was not found 找不到框架“Microsoft.AspNetCore.App”,版本“3.1.0”(x64) - The framework 'Microsoft.AspNetCore.App', version '3.1.0' (x64) was not found 修复指定的框架&#39;Microsoft.AspNetCore.App&#39;版本&#39;2.1.1&#39; - Fixing The specified framework 'Microsoft.AspNetCore.App', version '2.1.1' 找不到指定版本的 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App。 .net 6.0升级 - The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found. .net 6.0 upgrade 未找到 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App 的指定版本 - The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found PackageReference Microsoft.AspNetCore.App 从核心 2.2 到核心 3 和 3.1 的方式变化 - PackageReference Microsoft.AspNetCore.App change of manner from core 2.2 to core 3 & 3.1 从 2.1 迁移到 3.1.Net Core,Microsoft.AspNetCore.App 的替代品是什么? - Migrating from 2.1 to 3.1 .Net Core, What is the Replacement of Microsoft.AspNetCore.App?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM