Entity Framework Core не совместим с библиотекой классов DotNet Core - PullRequest
0 голосов
/ 25 февраля 2019

По общему признанию, все еще очень плохо знаком с базовой экосистемой 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.Все еще получаю эту проблему.

enter image description here

1 Ответ

0 голосов
/ 25 февраля 2019

Понял.

В моем определении сборки есть 3 задачи (восстановление NuGet, сборка DotNet, MS Test).

Восстановление NuGet не удалось.Я смог воспроизвести его, загрузив ту же версию NuGet для CLI, которую Azure Dev Ops использовал (v4.1.0) на сегодняшний день.

Запуск восстановления NuGet - я получаю ту же ошибку.

Изменение задачи на восстановление по сети устраняет эту проблему.

Я хотел бы понять, что восстановление dotnet делает под капотом иначе, чем NuGet.

...