Проект БД не загружается в Visual Studio 2013

Ошибка говорит:

Не удалось создать менеджер расширений для целевой платформы 'Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider'.

Мой товарищ по команде создал проект БД, но когда я снял его с контроля исходного кода, его не удалось создать.

4 ответа

Решение

Решение состоит в том, чтобы получить обновление для "Инструментов данных SQL Server". У вас, видимо, есть более старая версия.

Посмотрите в Visual Studio 2013 в разделе Инструменты -> Расширения и обновления. На левой панели оттуда, нажмите на Обновления. Надеюсь, вы сможете найти нужное вам обновление.

(В качестве альтернативы, запустите установку восстановления в "Инструментах данных SQL Server" в Панели управления Windows -> Программы.)

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

Оригинал:

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider</DSP>
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

Обновлено: (не включая *)

<SchemaVersion>2.0</SchemaVersion>
<ProjectVersion>4.1</ProjectVersion>
<ProjectGuid>{......}</ProjectGuid>
**<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>**
<OutputType>Database</OutputType>
<RootPath>
</RootPath>

Имел ту же проблему и пробовал вышеуказанные решения, хотя даже создание нового проекта с нуля получало то же сообщение об ошибке. Я также получаю "Файл существует" по какой-то причине.

В программе просмотра событий я обнаружил следующее:

Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
   at System.IO.__Error.WinIOError(Int32, System.String)
   at System.IO.Path.InternalGetTempFileName(Boolean)

Очистил мой временный каталог, и теперь проекты базы данных снова ведут себя. Вероятно, это не очень распространенное решение этой проблемы, но я хотел получить информацию, если она может кому-то помочь!

Вы можете попробовать эти шаги:

  1. Попробуйте добавить другой проект базы данных в ваше решение.
  2. Введите в редактировании файл DBProj
  3. Скопируйте DSP и используйте его.

Я пытался переместить proj с vs2013 на vs2012, и это сработало для меня. Поставщик был:

<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>

Вы можете попробовать выше, если у вас есть VS2012.

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