Подтвердить что ты не робот

Файл метаданных не найден - Data.Entity.Model

Любой, имеющий аналогичную проблему, при создании веб-сервисов?

Компиляция преобразования: файл метаданных 'D:\Program Files\VS2013\Common7\Tools..\IDE\Microsoft.Data.Entity.Design.dll" не удалось найти D:\PROJEKTY\apki\ws2\WS\WS\DataModel.tt

error screenshot

Я попробовал снова добавить модель данных, перезапустить VS, очистить и построить решение, создать новый проект, удалить и добавить ссылку, установить новейшую версию. Я думаю, что любое решение, найденное в Интернете, не работает для меня.

Любые предложения? Я думаю о вставке файла в этот каталог, но не могу думать, что может быть там.

4b9b3361

Ответ 1

Основываясь на

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude

генератор кода ищет недостающие библиотеки DLL в следующих местах:

<#@ assembly name="%VS120COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

Я обнаружил, что переменная окружения% VS120COMNTOOLS% несовместима с правильным путем установки визуальной студии, поэтому я изменил ее из свойств расширенной системы и работал

Ответ 2

  • Проверьте место установки. Я установил VS в другое место D:\, чем по умолчанию C:\, поэтому я получил ошибку.
  • измените "переменные среды" на ваше местоположение, для меня это означает изменение C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\ на D:\Microsoft Visual Studio 12.0\Common7\Tools\.
  • НЕ ЗАПРЕЩАЕТСЯ добавить \ в конец слова.

Ответ 3

Я считаю, что VS не обновляет переменную VS120COMNTOOLS правильно при переустановке VS на другой диск. См. этот поток SO для расширенного ответа.

Ответ 4

Проблема заключается в том, что файл изначально EF6.Utility.CS.ttinclude ошибочен. Даже если переменная% VS120COMNTOOLS% является правильным значением, ошибка все равно возникает.

Убейте две глупые точки в следующих строках (% VS120COMNTOOLS% ..\IDE):

<#@ assembly name="%VS120COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

Если способ исправления ошибки больше не возникает:

<#@ assembly name="%VS120COMNTOOLS%\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%\IDE\Microsoft.Data.Entity.Design.dll" #>

И переменная% VS120COMNTOOLS% должна иметь правильное значение, конечно.

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

<#@ assembly name="%VS140COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS140COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

К сожалению.

Ответ 5

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

devenv /resetsetting

в командной строке VS 2013, и это сработало. Делал то же самое в машине моих коллег, и это сработало. Не уверен, что это сработает, но попробуй попробовать

Ответ 6

Попробуйте следующее:

  • Дважды щелкните по .edmx Model
  • Щелкните правой кнопкой мыши в любом месте "Дизайнера модели данных сущностей"
  • Нажмите "Обновить модель из базы данных"
  • Нажмите "Готово"