Ошибка говорит:
Не удалось создать менеджер расширений для целевой платформы "Microsoft.Data.Tools.Schema.Sql120DatabaseSchemaProvider".
Мой товарищ по команде создал проект БД, но когда я вытащил его из исходного управления, он не смог создать.
Ошибка говорит:
Не удалось создать менеджер расширений для целевой платформы "Microsoft.Data.Tools.Schema.Sql120DatabaseSchemaProvider".
Мой товарищ по команде создал проект БД, но когда я вытащил его из исходного управления, он не смог создать.
Решение состоит в том, чтобы получить обновление "Инструменты данных 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)
Очистили мою временную директорию, и теперь проекты базы данных снова ведут себя. Это, вероятно, не настоящее общее решение этой проблемы, но хотелось получить информацию там, если она может помочь кому-то еще!
Вы можете выполнить следующие действия:
Я пытался переместить proj с vs2013 на vs2012, и это сработало для меня. Поставщик был:
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql110DatabaseSchemaProvider</DSP>
Вы можете попробовать один выше, если у вас есть VS2012.