У меня есть проект, компилируемый с ядром .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](https://i.stack.imgur.com/lWlJS.png)
Он правильно компилируется и работает на хосте.
Я создал образ докера:
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
Как заставить это работать?