Пакет EntityFramework не установлен в проекте

У меня возникли проблемы с установкой EF в моем очень простом проекте под названием «Match» (только сейчас изучаю MVC, лучше поздно, чем никогда). Общий контекст здесь таков, что я создал класс модели только с двумя полями, и теперь я хочу изменить класс модели, чтобы иметь еще несколько полей/свойств. Я внес изменения в класс модели и теперь пытаюсь обновить БД, чтобы она соответствовала. Я пытаюсь использовать Update-Database из EF для этого.

PM> install-package EntityFramework Вы загружаете EntityFramework с сайта Microsoft, лицензионное соглашение с которым доступно по адресу http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409. Проверьте пакет на наличие дополнительных зависимостей, которые могут поставляться с собственными лицензионными соглашениями. Использование вами пакета и зависимостей означает ваше согласие с их лицензионными соглашениями. Если вы не принимаете лицензионные соглашения, удалите соответствующие компоненты с вашего устройства. Успешно установлен «EntityFramework 5.0.0». Успешно добавлено «EntityFramework 5.0.0» в Match.

Введите «get-help EntityFramework», чтобы просмотреть все доступные команды Entity Framework.

PM> Enable-Migrations Get-Package: не удается найти параметр, соответствующий имени параметра «ИмяПроекта». В C:\Users\Dave\Documents\Visual Studio 2010\Projects\Match\packages\EntityFramework.5.0.0\tools\EntityFramework.psm1:611 char:40 + $package = Get-Package -ProjectName ‹‹‹‹ $ проект.ПолноеИмя | ?{ $_.Id -eq 'EntityFramework' } + CategoryInfo: InvalidArgument: (:) [Get-Package], ParameterBindingException + FullyQualifiedErrorId: NamedParameterNotFound,NuGet.PowerShell.Commands.GetPackageCommand

Пакет EntityFramework не установлен в проекте Match.


person user1016313    schedule 12.08.2012    source источник
comment
Вы работаете сначала с моделью или с кодом? Какую команду вы используете для обновления базы данных?   -  person Gert Arnold    schedule 14.08.2012
comment
Это относится только к этому проекту? Можете ли вы добавить EF в другие проекты?   -  person espenk    schedule 15.08.2012
comment
Нашел аналогичную проблему в этом сообщении: stackoverflow.com/a/7873572/461958. Посмотрите, поможет ли это. Если это так, то это такси будет помечено как дубликат сообщения.   -  person mateuscb    schedule 15.08.2012
comment
Я использую первую модель кода. По какой-то причине он начал работать, когда я удалил пакет Entity Framework, который я установил с помощью графической версии диспетчера пакетов (который устанавливает версию 5.0.0) и вместо этого установил версию 4.3.1 с помощью консоли.   -  person user1016313    schedule 16.08.2012
comment
В моем случае я установил пакет, который вызвал проблемы в зависимостях. Когда я удаляю это, он работает отлично   -  person Thilina Rajapaksha    schedule 15.03.2021


Ответы (19)


Просто обновите NuGet до версии 2.x. EF 5.0 требует этого.

person SeriousMakc    schedule 24.08.2012

Надеюсь, никто не так глуп, как я, но на благо искателей:

Одна из возможностей этой ошибки: в консоли диспетчера пакетов есть раскрывающийся список «Проект по умолчанию». Если это установлено неправильно, вы получите Пакет EntityFramework не установлен в проекте «x». Измените раскрывающийся список на свой проект EF, и все снова хорошо.

person HockeyJ    schedule 05.02.2013
comment
Это было проблемой для меня, но раскрывающийся список был пуст, пока я не перезапустил VS. - person Chad Hedgcock; 11.02.2014
comment
Изменение версий Visual Studio, похоже, устанавливает для проекта по умолчанию значение '' (ничего). Это исправило это и для меня. - person Martin Dawson; 02.05.2016

В моем случае помог перезапуск Visual Studio.

person Margus    schedule 14.05.2016
comment
Это фактически исправило это для меня, поэтому я бы не согласился и сказал, что это один из многих возможных ответов на вопрос. - person yellowbrickcode; 10.10.2016
comment
не думал, что это поможет, но я попробовал, и это решило проблему. - person Andre; 16.09.2017
comment
ах подумал, что это обновление .netcore, сообщение об ошибке было Update-Database : Parameter cannot be processed because the parameter name 'c' is ambiguous. Possible matches include: ... - person ono2012; 09.10.2017
comment
Я не ожидал этого, но это сработало. Больше ничего не работало, и все остальное было установлено правильно и устанавливалось одинаково после закрытия и повторного открытия. - person madamission; 15.12.2018
comment
Команда update-database работала нормально неделю или больше, а сегодня перестала работать с этой ошибкой. У меня сработал перезапуск VS, единственное, что я сделал между ними, — это добавил профиль публикации Azure и начал публикацию. - person Detail; 18.08.2019
comment
Это решает 99% проблем, с которыми вы сталкиваетесь, вам просто нужно помнить, что - person Yahya Hussein; 01.01.2020

В моем случае у меня был проект, в котором по какой-то причине не было файла Packages.config. В результате я получил сообщение об ошибке «Пакет EntityFramework не установлен в проекте xxxx».

Чтобы решить эту проблему, просто добавьте файл Packages.config, после чего заработает «Install-Package EntityFramework».

person Nigel Findlater    schedule 21.11.2013

В своих проектах я устанавливал на них EntityFramework отдельно. Несмотря на то, что все они имели одинаковые номера версий в каждом проекте, это все равно не работало. В результате вы получаете ту же ошибку.

Чтобы исправить это, я удалил EntityFramework из всех своих проектов и снова переустановил его.

Get-Project -all | Uninstall-Package EntityFramework

Далее вы просто переустанавливаете его снова.

Get-Project -all | Install-Package EntityFramework
person Jordec    schedule 04.08.2015
comment
В моем случае я выполнил шаг удаления, а затем переустановил Entity только в том проекте, в котором у меня есть DbContext. - person ; 22.02.2016

В моем случае я устанавливаю пакет Microsoft.EntityFrameworkCore.Tools в свой проект! проблема исправлена.

person Ali Yousefi    schedule 08.04.2018

Я только что перезапустил Visual Studio, и это сработало.

person steve    schedule 19.05.2019

У меня точно такая же проблема. Я добавил EFCore в проект, в котором установлен EF6. поэтому команда add-migration xx выполняется с EF6, установленным в EFCore, и я получаю эту ошибку. удаление EF6 и перезапуск Visual Studio решили мою проблему.

person afshar    schedule 19.01.2019

Вам нужно будет установить EF в свой проект. Вы можете сделать это через «Инструменты | Управление пакетами NuGet», посмотрите «Установлено» и нажмите «Управление». Там вы увидите возможность установить EF в свой проект. После этого все должно заработать и можно будет изменять модель. Это может занять довольно много времени (в моем случае это произошло!). Успех! Питер

person Peter Klein    schedule 31.08.2012

Откройте консоль диспетчера пакетов и выберите проект по умолчанию из раскрывающегося списка в консоли диспетчера пакетов. Установите структуру объекта, используя эту команду в командном окне.

install-Package Entityframework
person Musakkhir Sayyed    schedule 07.03.2015

Попробуйте обновить пакет Entity Framework из диспетчера пакетов Nuget вашего проекта, это решило мою проблему.

person pepitomb    schedule 27.08.2016

В моем случае переустановите Entity Package и перезапустите Visual Studio.

person maryam ghoreishi    schedule 05.05.2021

В моем случае файл packages.config был на диске, но не в TFS.

person Max    schedule 16.07.2014

Эта ошибка может произойти, если целевой проект команды Entity Framework выгружен в решении Visual Studio (т. е. если вы ранее щелкнули проект правой кнопкой мыши в обозревателе решений и выбрали «Выгрузить проект»).

В этом случае решение состоит в том, чтобы загрузить проект, а затем снова попробовать запустить команду Entity Framework.

person Jon Schneider    schedule 08.07.2016

должно работать, если вы открываете проект в первый раз,

второй щелчок по консольному проекту и "Установить как проект stratup"

person asli    schedule 05.01.2019

установить EntityFrameworkCore установить EntityFrameworkCore.SqlServer, а затем закрыть Visual Studio и снова открыть Проблема исправлена

person zolfaghari    schedule 17.01.2019

Вы также можете очистить кеш NuGet в VS. решил мою проблему

person Faziki    schedule 16.07.2019

В моем случае у меня есть решение Xamarin.Forms с тремя проектами — Backend (для подключения к базе данных Azure), одной общей библиотекой, проектом iOS и проектом Android. Я получил следующие сообщения об ошибках: "Пакет EntityFramework не установлен в проекте..." и "В сборке не найден тип контекста...". Я решил эту проблему, установив Backend в качестве моего проекта StartUp, а затем введя команды в следующем формате в консоли диспетчера пакетов:

Enable-Migrations -ProjectName Backend -Verbose

и после этого

add-migration -ProjectName Backend Initial

Я надеюсь, что это поможет кому-то :)

person Sonia    schedule 28.07.2019

Эта проблема может быть связана с конфликтом двух версий EntityFramework и EntityFrameworkCore. Для проверки вы можете написать: Get-Module в консоли менеджера пакетов. Если вы видите EntityFramework и EntityFrameworkCore вместе, вам нужно удалить EntityFramework или зависимость, связанную с EntityFramework. Для поиска зависимости вы можете использовать ввод решения поиска в обозревателе решений. После удаления зависимости или EntityFramework вам необходимо перезапустить проект.

person Yevhenii Kovalenko    schedule 01.10.2020