Пакет "EntityFramework 6.2.0" был восстановлен с использованием ".NETFramework, Version = v4.6.1" вместо целевой среды проекта ".NETCoreApp, Version = v2.0",
Я сделал веб-приложение.net core 2.0. Я добавил Entity Framework 6.2.0 с помощью NUGET, а затем получаю эту ошибку
Пакет "EntityFramework 6.2.0" был восстановлен с использованием ".NETFramework, Version = v4.6.1" вместо целевой целевой платформы.NETCoreApp, Version = v2.0. Этот пакет может быть несовместим с вашим проектом.
Как это исправить?
Ответы
Ответ 1
Проблема заключается в том, что ваша версия сущности путается с .NetFramework
и .NetCore
. Рамка целевых приложений - Asp.Net Core
. Поэтому вы должны установить пакет, связанный с Asp.net Core
В вашем случае 'EntityFramework 6.2.0'
поддерживается .NETFramework,Version=v4.6.1'
не '.NETCoreApp,Version=v2.0'
. Поэтому используйте эту ниже версию инфраструктуры сущностей вместо вашей.
PM> Install-Package Microsoft.EntityFrameworkCore -Version 2.0.1
Ответ 2
Измените свой проект на .NETFramework,Version=v4.6.1
или выберите Entity Framework .NETCoreApp,Version=v2.0
который поддерживает .NETCoreApp,Version=v2.0
Ответ 3
В качестве альтернативы вы можете изменить целевую инфраструктуру на net461, как показано ниже.
<TargetFramework>net461</TargetFramework>
Изменив целевую инфраструктуру на net461, вы сможете использовать ядро .net и полные.net-структуры. Я думаю, что за этот период этот подход лучше. Поскольку EF Core по-прежнему не имеет некоторых основных функций, таких как отношения многих и многих, и некоторые другие. Конечно, это зависит от ваших потребностей и ожиданий от инструмента ORM.
Ответ 4
Использую сообщество редакции VS2017 версии 15.8.6. Получая ту же ошибку, пока я пытаюсь добавить Entity Framework 6.2.0 или любую версию по этому вопросу.
Ошибка: пакет 'Entity Framework6.2.0 был восстановлен с использованием .net Framework версия = v4.6.1 вместо целевой платформы проекта .netCoreApp, версия = v2.1. Этот пакет может быть не полностью сопоставим с вашим проектом.
Решения, которые я пробовал: попытался запустить комментарий из командной строки nuget. Поэтому они добавляют пакет MICROSOFT.EntityFrameworkCore.SqlServer -V 2.0.0. Попытка путем добавления AutogenerateBindingRedircts как true, как упоминалось на одном из форумов. Оба решения не спомогли мне.
Попробовал изменить версию проекта и версию ditnetcore тоже. Не работал для меня
Любая помощь будет оценена. !!
Ответ 5
У меня была та же проблема, и меня представили, изменив мое решение на использование новой TargetFramework.
<TargetFramework>netcoreapp2.2</TargetFramework>
После обновления я попытался добавить Identity Framework, но потерпел неудачу с предупреждением, как описано.
Добавление пакетов в этой последовательности решило это для меня:
Microsoft.EntityFrameworkCore
Microsoft.AspNetCore.Identity
Ответ 6
В моем случае мой проект был Core 2.2. Сначала я установил (NuGet) Microsoft.EntityFrameworkCore v2.2.4, и все было в порядке. Затем я случайно установил Microsoft.AspNet.Identity, а не Microsoft.AspNetCore.Idendity(v2.2.0). Как только мои глаза заметили недостающее "Ядро" в пакете .Identity, и я исправил его, удалив неправильное и установив правильное, предупреждения исчезли. Я ожидаю, что я не единственный, кто пошел немного быстрее на установках Nuget в новом проекте :)