Entity Framework 6.1.3 Ошибка установки NuGet для целевой платформы .NETStandard 1.4

В Visual Studio 2017 я добавляю проект библиотеки классов в решение с фреймворком .NET Framework 4.5.2. При проверке свойств вновь созданного проекта «Целевая платформа» отображается как «.NETStandard 1.4». В раскрывающемся списке «Целевая платформа» перечислены только платформы, начинающиеся с «.NETStandard ...».

При попытке установить Entity Framework 6.1.3 через NuGet для новой библиотеки классов я получаю следующую ошибку:

Package EntityFramework 6.1.3 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package EntityFramework 6.1.3 supports:
  - net40 (.NETFramework,Version=v4.0)
  - net45 (.NETFramework,Version=v4.5)
One or more packages are incompatible with .NETStandard,Version=v1.4.
Package restore failed. Rolling back package changes for 'Mercury.Test3'.

Учитывая, что я не могу сбросить целевую платформу до «.NET Framework 4.5.2», как мне преодолеть нежелание NuGet устанавливать EF 6.1.3 вместо «.NETStandard 1.4».

Заранее спасибо.


person Ratty    schedule 21.04.2017    source источник
comment
При добавлении библиотеки классов я выбирал из категории «.NET Standard». При дальнейшем рассмотрении я могу создать библиотеку классов из «Классический рабочий стол Windows», и целевая структура будет сохранена как 4.5.2, как выбрано. Это позволяет без проблем установить NuGet EF6.1.3. Причиной проблемы может быть мое незнание категории шаблонов «.NET Standard».   -  person Ratty    schedule 21.04.2017


Ответы (1)


Самый простой ответ заключается в том, что, поскольку ваша библиотека классов объявляет, что она работает на всех платформах, поддерживающих .NETStandard 1.4, она не может зависеть от компонента, который имеет более узкие требования (например, EF 6.1.3, который работает только с .NET Framework 4. .Икс).

Это похоже на то, что происходит, когда вам нужно добавить ссылку, специально предназначенную для x86 или x64, в проект, нацеленный на любой ЦП: вы вынуждены изменить проект, чтобы использовать тот же PlatformTarget.

person divega    schedule 21.04.2017