По общему признанию, все еще очень плохо знаком с базовой экосистемой DotNet.
У меня есть набор решений с несколькими библиотеками классов для платформы, которую я переношу на ядро DotNet.
У меня есть онинацеливание на Core 2.1 (netcoreapp2.1).
У меня установлен пакет Microsoft.EntityFrameworkCore (v2.2) через NuGet.
Локально все строится и работает нормально.
Определение сборки (Azure DevOps) не выполняется, поскольку NuGet не будет извлекать пакет EntityFrameworkCore.Конкретно:
Package Microsoft.EntityFrameworkCore 2.2.2 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.EntityFrameworkCore 2.2.2 supports: netstandard2.0 (.NETStandard,Version=v2.0) One or more packages are incompatible with .NETCoreApp,Version=v2.1.
Ответ кажется очевидным - но я запутался в этом.Ядро DotNet поддерживает NET Standard 2.0.
Кроме того - я не вижу этой проблемы вообще локально.
Делая это еще более запутанным - сборка действительно успешна, если я игнорирую ошибку NuGet.
Есть ли что-то, что мне нужно сделать, чтобы убедиться, что проекты явно заявляют, что они нацелены на netstandard2.0 в дополнение к netcoreapp2.1?
Вот один из файлов проекта, который нарушил работу.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ACME.Framework.Common\ACME.Framework.Common.csproj" />
<ProjectReference Include="..\ACME.Framework.Entity\ACME.Framework.Entity.csproj" />
</ItemGroup>
</Project>
Обновление -
Я обновился до DotNet Core 2.2.Все еще получаю эту проблему.