Не удалось найти сборку «EntityFramework»

17

Я работаю над этим приложением MVC 3 на своем домашнем компьютере некоторое время. Я уезжаю за город на другом компьютере, поэтому я получил проект из своего источника. На этом новом компьютере еще не было MVC 3, поэтому я установил его после того, как я скопировал проект на новый компьютер.

Многие мои DLL-файлы (например, MvcContrib.dll) отсутствовали, так как я не установил Copy Local в true, когда я впервые создал проект на своем домашнем компьютере. Таким образом, я собирался и загружал все недостающие DLL и добавлял их в свой проект.

Единственное, что я не могу найти, это EntityFramework.dll. Я не могу найти для него загрузку, и я не вижу ее как dll .NET, когда я пытаюсь добавить ссылку.

Я получаю это предупреждение, когда пытаюсь построить: Не удалось устранить эту ссылку. Не удалось найти сборку «EntityFramework»

    
задан Steven 27.06.2011 в 22:12
источник

6 ответов

9

Загрузите и установите Framework 4.0 и включите его.

Ссылка

    
ответ дан ChrisBint 27.06.2011 в 22:15
источник
  • Он говорит, что у меня уже есть EF 4.0 на этом компьютере. Я предполагаю, что он был включен в обновление MVC 3 Tools. Может ли проблема заключаться в том, что я загрузил обновление после того, как я скопировал проект MVC 3 на этот компьютер? –  Steven 27.06.2011 в 22:26
  • Nevermind, я только что создал новый проект и включил DLL. Затем я просто добавил ссылку на него из этого проекта. –  Steven 27.06.2011 в 22:52
17

Это также может произойти, если вручную удалить ссылку EntityFramework в проекте.

Если вы потеряли ссылку, вы можете удалить запись в файле packages.config для EntityFramework

<packages>
    <package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>

После удаления вы можете переустановить пакет через Менеджер пакетов (Управление пакетами NuGet)

    
ответ дан Mark 10.09.2012 в 11:43
источник
  • +1. Это сработало для меня, когда я открыл VS2010 / EF4.1 проект в VS2012 и не смог увидеть ссылку EntityFramework, даже после обновления решения для .NET 4.5 и установки EF5 через NuGet. Затем я последовал совету Марка, и теперь у меня есть ссылка в моем проекте. –  bflow1 19.12.2012 в 23:58
  • Благодарим вас, это именно то, что вам нужно знать о том, когда инструменты Microsoft как-то увязаны (как всегда) и не могут исправить себя. –  d512 27.06.2014 в 00:18
7

Вам необходимо загрузить и установить Entity Framework отдельно:

Ссылка

    
ответ дан The Evil Greebo 27.06.2011 в 22:16
источник
  • На странице загрузки Framework 4.0; Entity Framework позволяет разработчикам программировать против реляционных баз данных с использованием объектов .NET и Language Integrated Query (LINQ). Это не отдельная установка. –  ChrisBint 27.06.2011 в 22:18
  • EF 4.1 - но я предполагал, что он хочет последнюю версию. :) –  The Evil Greebo 27.06.2011 в 22:19
6

Если у вас нет - установите расширение Nuget в Visual Studio.

Использование Nuget не только позволит вам иметь пакеты с источником (в каталоге пакетов), но также поможет вам обновлять информацию. Внешние зависимости, на которые вы полагаетесь, в идеале должны быть включены в ваше решение, поэтому такие ситуации, как ваша, не встречаются.

Как отметил Evil Greebo, вам нужно перейдите сюда , чтобы получить инструментарий Visual Studio. Хотя пакет Nuget обеспечит поддержку уровня кода, инструмент находится в программе установки. Я использую оба варианта, поэтому, если есть обновление для пакета, оно будет отображаться в уведомлениях об обновлении Nuget.

    
ответ дан bbach 27.06.2011 в 22:55
источник
2

Я сам разрешил аналогичную проблему, загрузив обновление ASP.NET MVC Tools Update. Есть ли вероятность, что вы просто отсутствуете на этом другом компьютере?     

ответ дан egbutter 27.06.2011 в 22:17
источник
0

Если EntityFramework был установлен ранее, вы также можете вручную добавить ссылку с просмотром. Выберите в папке проекта следующий файл: \ packages \ EntityFramework.5.0.0 \ lib \ net4x \ EntityFramework.dll

Затем добавьте следующее, если оно отсутствует в вашем файле packages.config:

<packages>
    <package id="EntityFramework" version="5.0.0" targetFramework="net4x" />
</packages>
    
ответ дан Boogiebart 27.07.2016 в 13:18
источник