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