Файл метаданных не найден - 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, и он работал

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

Я считаю, что 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" #>

Сожалею.

Я знаю, что сейчас поздно отвечать на вопрос, но.

Эта работа для меня, выполнив следующие шаги.

  1. Скопируйте код из существующего файла abc.tt.
  2. Удалите файл abc.tt.
  3. Снова скопируйте весь код в файл ABC.tt.

После копирования кода просто сохраните файл и создайте решение, оно также восстановит полный файл.cs.

Доброго времени суток, ребята, я столкнулся с этой ошибкой в ​​приложении. Я работаю над тем, что я сделал: 1. вернуть решение / модуль, в котором находятся объекты, 2. удалить %VS110COMN%поэтому код будет выглядеть так

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

Это сработало для меня.

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

  2. Отредактируйте его с помощью Visual Studio.

  3. Удалите две точки после URL, чтобы новые строки, такие как:

    <#@ assembly name="%VS120COMNTOOLS%\IDE\EntityFramework.dll" #>
    <#@ assembly name="%VS120COMNTOOLS%\IDE\Microsoft.Data.Entity.Design.dll" #>
    
  4. Исправьте переменные среды, чтобы они заканчивались каталогом только перед IDE. В моем случае

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\
    
  5. Перестройте проект или удалите структуру сущностей и воссоздайте ее.

Попробуй это:

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