首页 > 解决方案 > 找不到指定的框架“Microsoft.AspNetCore.App”,版本“2.1.8”。与码头工人

问题描述

我有一个使用 .net core 2.1 编译的项目

该项目非常简单:

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

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
</ItemGroup>

我有这两个库参考: 在此处输入图像描述

它可以在主机上正确编译和运行。

我制作了一个 docker 镜像:

FROM microsoft/dotnet:2.1-sdk AS build

COPY ./Test /src/Test
WORKDIR /src/Test
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish -c Release -o /app --no-restore

FROM microsoft/dotnet:2.1-runtime AS final
WORKDIR /app
COPY --from=publish /app .

CMD ["dotnet", "Test.dll"]

它构建正确,没有警告。

但是当我执行它时:

# dotnet Test.dll
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '2.1.1' was not     found.
  - Check application dependencies and target a framework version installed at:
  /usr/share/dotnet/
  - Installing .NET Core prerequisites might help resolve this problem:
  https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
  - The .NET Core framework and SDK can be installed from:
  https://aka.ms/dotnet-download

因此,当我检查框架版本时(我使用 dotnet:2.1-runtime 构建):

# dotnet --info

Host (useful for support):
  Version: 2.1.8
  Commit:  209f8aa25c

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.1.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

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

所以看起来 2.1.8 安装了,不知何故,它不能起到 2.1.1 的作用。

我尝试了两件事:

如何让这个工作?

标签: dockerasp.net-core.net-core

解决方案


我发现在使用ASP的时候,不能使用.net core镜像和添加asp库。

您需要获取 .net core asp docker 映像。


推荐阅读