Файл метаданных не найден - 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, очистить и построить решение, создать новый проект, удалить и добавить ссылку, установить новейшую версию. Я думаю, что любое решение, найденное в Интернете, не работает для меня.
Любые предложения? Я думаю о вставке файла в этот каталог, но не могу думать, что может быть там.
Ответы
Ответ 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
- Щелкните правой кнопкой мыши в любом месте "Дизайнера модели данных сущностей"
- Нажмите "Обновить модель из базы данных"
- Нажмите "Готово"