2013-11-13 2 views
36

Я установил EF 5.0 в .DAL, теперь я хочу, чтобы установить EF 5.0 в .BLL из NuGetКак установить EntityFramework 5.0 (и другие более старые версии) из NuGet?

Но по умолчанию онлайн NuGet пакет всегда приходит с 6.0, который дает ошибку при использовании вместе с 5.0 EF I использовать в DAL.

Где я могу установить версию EntityFramework 5.0 в свои пакеты Nuget?

ответ

68

Вид -> Другие окна -> Консоль менеджера пакетов затем запускается install-package entityframework -version 5.0.0.0.

Добавить -project <project.name>, если вы хотите установить его в конкретном проекте.

+0

@thenewseattle Какие объяснения вам нужны, devnull дал вам все, что вам нужно. –

+0

@Freak_Droid он не знал, как найти командное окно, оно не отображается по умолчанию – devnull

+0

@thenewseattle просматривает сообщения, которые вы получаете в результате своей команды. вы должны удалить любую существующую версию, а также убедиться, что она удалена из 'packages.config' (найдена в каждом проекте). – devnull

14

вот что я испытал: (прежде чем я начну ... надобность devnull для ответа).

Я нажал на:

1) Вид -> Другие окна -> Package Manager Console побежал

2) установки-пакет entityframework -версия 5.0.0.0.

деинсталляцию начал, но потом откат, так как он обнаружил у меня уже была установлена ​​Entity Framework (EF) 6.0.2 ...

> PM> установить-пакет entityframework -версия 5.0.0.0

Установка «EntityFramework 5.0.0». Вы загружаете EntityFramework из Microsoft, лицензионное соглашение, доступное по адресу http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409. Проверьте пакет на наличие дополнительных зависимостей, которые могут иметь собственные лицензионные соглашения. Использование вами пакета и зависимостей означает ваше согласие с их лицензионными соглашениями. Если вы не согласны с лицензионным соглашением, удалите соответствующие компоненты с вашего устройства. Успешно установлен «EntityFramework 5.0.0». ***** Ошибка установки. Откат назад ... ***** install-package: Уже упоминается более новая версия 'EntityFramework'. В строке: 1 char: 1 + install-package entityframework -version 5.0.0.0 + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [Установить-пакет], InvalidOperationException + FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand

Итак, я удалил Entity Framework 6.0.2 и обнаружил, что у него была зависимость, которая также необходимо удалить ... тогда я, наконец, смог удалить Entity Framework 6.0.2, а затем добавить Entity Framework 5.0. 0,0

PM> uninstall-package entityframework -version 6.0.2 uninstall-package: Не удалось удалить «EntityFramework 6.0.2», потому что «AnotherFakeDbSet 3.0.0.0» зависит от него.

Итак я удалил эти два и установили Entity Framework 5.0.0.0

PM> деинсталляция-пакет AnotherFakeDbSet -версия 3.0.0.0

PM> деинсталляция-пакет entityframework -версия 6.0.2

PM> install-package entityframe work -version 5.0.0.0

Мне нравится консоль ... быстрее, чем поиск пакетов, если вы знаете версию #. И если вы не проверили «Powershell» (основу для консоли - я нахожу, что это хорошо проведено - это позволяет практически неограниченную автоматизацию)

+0

напоминает мне dll hell :( – timothy

+0

@timothy - Я так и не подумал об этом, но вроде ... кроме этого вы точно знаете, что вызывает проблему ... с dll hell, различные программы просто перестали работать и вам нужно было найти точную программу, которая переписывала вашу существующую dll. Но сначала мне нужно было выяснить, что произошло, и точно, что это за ад, и это было до того, как я даже услышал о маленькой вещи, называемой google ... Поверьте мне ... это лучше... –

0

Старые версии Entity Framework или других подобных пакетов могут быть установлены с использованием Консоль диспетчера пакетов только в более ранних версиях Visual Studio (до 2015 года). В Visual Studio 2015 есть возможность вручную выбрать версию перед установкой, но в Visual Studio 2010,2012 вам нужно использовать консоль диспетчера пакетов.

Простой просмотр по ссылке Nuget Explorer и нажмите на конкретную версию объекта, которую вы должны установить.

Вы увидите, что Studio автоматически отображает код консоли диспетчера пакетов.

Например, я работал над проектом, который требовал Entity Framework 4.1. Итак, вот мой код. Entity Framework Package Manager Console Command Snapshot