Указанный фреймворк «Microsoft.AspNetCore.App», версия «2.1.8» не найден.с докером - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть проект, компилируемый с ядром .net 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>

У меня есть две ссылки на эти библиотеки: enter image description here

Он правильно компилируется и работает на хосте.

Я создал образ докера:

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.

Я пробовал две вещи:

  • обновить мои библиотеки до версии 2.1.8... тогда он не может найти версию 2.1.8 asp lib
  • , не помещает требования к версии в файл csproj, и он также не может найти asp lib

Как заставить это работать?

1 Ответ

0 голосов
/ 01 марта 2019

Я обнаружил, что при использовании ASP вы не можете использовать образ ядра .net и добавлять библиотеки asp.

Вам нужно взять образ докера ядра .net core.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...