Файл метаданных не найден - Data.Entity.Model
Кто-нибудь сталкивался с подобной проблемой при создании веб-сервисов?
Преобразование компиляции: файл метаданных 'D:\Program Files\VS2013\Common7\Tools..\IDE\Microsoft.Data.Entity.Design.dll' не найден D:\PROJEKTY\apki\ws2\WS\WS\DataModel.tt
Я попытался снова добавить модель данных, перезапустить VS, очистить и собрать решение, создать новый проект, удалить и добавить ссылку, установить самую новую версию. Я думаю, что любое решение, найденное в интернете, не работает для меня.
Какие-либо предложения? Я думаю о вставке файла в этот каталог, но не могу понять, что там может быть.
7 ответов
На основе
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\ Инструменты Entity Framework \ Шаблоны \ Включает \EF6.Utility.CS.ttinclude
генератор кода ищет недостающие библиотеки DLL в следующих местах:
<#@ assembly name="%VS120COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>
Я обнаружил, что переменная среды%VS120COMNTOOLS% не совместима с правильным путем установки Visual Studio, поэтому я изменил его в свойствах системы Advanced, и он работал
- Проверьте место установки. Я установил VS в другое место
D:\
чем по умолчаниюC:\
поэтому я получил ошибку. - изменить "Переменные среды" в соответствии с вашим местоположением, для меня это означает изменение
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
вD:\Microsoft Visual Studio 12.0\Common7\Tools\
, - НЕ забудьте добавить
\
до конца слова.
Я считаю, что VS не обновляет VS120COMNTOOLS
переменная правильно при переустановке VS на другой диск. Смотрите эту ветку SO для расширенного ответа.
Не уверен, почему это происходит. Один из моих коллег столкнулся с этой проблемой, когда он пытается сгенерировать базу данных из Model на общем сервере, который мы используем. Я попытался на той же машине с моим логином с моего компьютера, и это сработало в первый раз, и я попытался снова, и я получил ту же ошибку. Я только что сделал
devenv /resetsetting
в командной строке VS 2013, и это сработало. Сделал то же самое в машине моих коллег и это тоже сработало. Не уверен, что это сработает, но стоит попробовать
Проблема заключается в том, что файл 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" #>
Сожалею.
Я знаю, что сейчас поздно отвечать на вопрос, но.
Эта работа для меня, выполнив следующие шаги.
- Скопируйте код из существующего файла abc.tt.
- Удалите файл abc.tt.
- Снова скопируйте весь код в файл ABC.tt.
После копирования кода просто сохраните файл и создайте решение, оно также восстановит полный файл.cs.
Доброго времени суток, ребята, я столкнулся с этой ошибкой в приложении. Я работаю над тем, что я сделал:
1. вернуть решение / модуль, в котором находятся объекты,
2. удалить %VS110COMN%
поэтому код будет выглядеть так
<#@ assembly name="..\IDE\EntityFramework.dll" #>
<#@ assembly name="..\IDE\Microsoft.Data.Entity.Design.dll" #>
Это сработало для меня.
Идти к
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude
Отредактируйте его с помощью Visual Studio.
Удалите две точки после URL, чтобы новые строки, такие как:
<#@ assembly name="%VS120COMNTOOLS%\IDE\EntityFramework.dll" #> <#@ assembly name="%VS120COMNTOOLS%\IDE\Microsoft.Data.Entity.Design.dll" #>
Исправьте переменные среды, чтобы они заканчивались каталогом только перед IDE. В моем случае
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\
Перестройте проект или удалите структуру сущностей и воссоздайте ее.
Попробуй это:
- Двойной клик на модели.edmx
- Щелкните правой кнопкой мыши в любом месте "Дизайнер модели данных сущностей"
- Нажмите "Обновить модель из базы данных"
- Нажмите Готово