Entity Framework в библиотеке Visual Studio 2013 не найден

Я получаю довольно необычную ошибку в Visual Studio 2013 в Visual Basic при попытке работать с Entity Framework. Не имеет значения, работаю ли я с существующим проектом или создаю новый. Это начало происходить, когда я перешел на новый компьютер с Win 8.1.

Я создаю новую модель с помощью мастера из базы данных. Это создает диаграмму очень хорошо. Тем не менее, я получаю сообщение об ошибке компиляции библиотеки EntityFramework.dll не существует Однако единственное, что путь к EntityFramework.dll неправильно (выглядит так: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\..\IDE\EntityFramework.dll). Адрес, однако, будет D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE, Где бы я изменил это значение?

Ueli

7 ответов

Видимо при переустановке Visual Studio на другой диск %VS120COMNTOOLS% Переменная окружения не обновляется правильно и указывает на папку на диске, где изначально была установлена ​​VS. Шаблон для генерации DDL SQL использует %VS120COMNTOOLS% Переменная окружения, чтобы найти сборки, необходимые для генерации кода. Поскольку переменная указывает на папку, в которой больше нет необходимых файлов, преобразование шаблона T4 завершается неудачно.

Поиск проблемы:

  • Откройте командную строку разработчика для VS2013
  • установите переменную вручную, чтобы указать на правильное местоположение (например,

    set VS120COMNTOOLS="D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\")

  • запустить VS из командной строки, выполнив devenv
  • убедитесь, что все работает

(Обратите внимание, что если вы выполните описанные выше шаги для установки переменной, она будет работать только для экземпляров VS, запущенных из этой командной строки.)

Если вышеперечисленные работы перейдите в свойства компьютера (например, в Win 8/Win 8.1 введите "Этот компьютер" в окне поиска), щелкните правой кнопкой мыши значок и выберите "Свойства", перейдите на вкладку "Дополнительно" и нажмите " Переменные среды ", затем в окне" Системные переменные "найдите VS120COMNTOOLS переменной, дважды щелкните (или нажмите кнопку "Редактировать") и исправьте переменную так, чтобы она указывала на нужную папку.

Не забудьте последнюю обратную косую черту после Tools... C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools <---- не будет работать, но... C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ Tools \ <--- будет работать

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

Поэтому я добавил разрешения моему текущему пользователю на всю папку установки Visual Studio, а затем запустил Visual Studio от имени администратора. Я заново сгенерировал свою модель, и она сработала!

Это может выглядеть смешно, но я сталкиваюсь с той же проблемой (с Windows 8.1), но ни один из предложенных методов не работал для меня! Я проверил мои переменные окружения, у него был правильный путь, но когда я тестировал его с помощью проводника (набрал%VS120COMNTOOLS% в адресной строке проводника), он не обнаружился!! Вместо этого он сказал: "Windows не может найти%VS120COMNTOOLS%, убедитесь, что вы правильно ввели имя". Итак, я просто удалил переменную и заново создал ее с точно таким же путем, а после перекомпиляции ошибка исчезла!!!

Так что, если вы, ребята, имеете ту же проблему, попробуйте

У меня работает следующий путь%VS120COMNTOOLS%:

set VS120COMNTOOLS = "D: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \"

У меня была эта проблема с VS2013 на Windows Server 2012R2. Два диска (C и D). Я пытался восстановить и удалить-переустановить, но это ничего не исправило. Это было безрассудно, но я заставил его работать.

Сначала я изменил системные переменные, чтобы перейти с D на C. Для этого перейдите в Панель управления -> Система и безопасность -> Система. С левой стороны вы увидите Расширенные настройки системы. В нижней части вкладки "Дополнительно" вы видите переменные среды. Мне пришлось редактировать VS120COMNTOOLS в C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools. Ранее это был D:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools.

Затем я скопировал EntityFramework.dll и Microsoft.Data.Entity.Design.dll из C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE в C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\IDE. Если папка IDE не существует, создайте ее. Это то, что я должен был сделать. Кажется так странно, но это работает!

Мне пришлось удалить текущий edmx в моем проекте, прочитать его и перезапустить VS. Такая странная проблема, и мне потребовалось довольно много времени, чтобы собрать воедино несколько статей, описывающих стек-потоки, чтобы полностью решить проблему.

У меня была эта проблема с VS2013 на Windows 8.1. Я решил проблему копированием

EntityFramework.dll и Microsoft.Data.Entity.Design.dll

из C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE в C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools

Файлы находятся в обоих местах, и теперь все работает нормально. Мне пришлось удалить мою модель сущности БД и начать заново, чтобы все заработало. Вероятно, это просто ошибка кодирования MS, из-за которой VS2013 выглядит не в том месте.

Я также столкнулся с той же проблемой. У меня есть мой VS2012 в "D:\Program Files (x86)\".

Я попытался установить общую папку для VS, используя следующую команду set из командной строки VS2012.

set VS120COMN = "D: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7"

Это решило проблему для меня.

Другие вопросы по тегам