Ошибки MSBuild для проекта базы данных на сервере TFS с оболочкой VS 2013

При построении на сервере TFS происходит сбой проекта непрерывной сборки базы данных. У нас установлена ​​оболочка Visual Studio 2013 (интегрированная). Похоже, что нет способа установить SQL Server Data Tools 2013 через меню Инструменты> Расширения и обновления ....

Отредактированная ошибка ниже ...

C: \ TFSBuild \ XXX \ XXX \ Database_CI \ Sources \ Database \ XXX \ XXX.sqlproj (126): импортированный проект "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ SSDT \ Microsoft .Data.Tools.Schema.SqlTasks.targets "не найден. Убедитесь, что путь в объявлении правильный, и что файл существует на диске.

Кто-нибудь испытал это? Есть ли решение или обходной путь? Доступен ли SSDT для оболочки VS 2013 для SQL Server 2014?


person paulwebber10    schedule 09.04.2014    source источник


Ответы (3)


Недавно я установил Visual Studio Shell (Изолированный) и (Интегрированный) на нашем сервере сборки, и он не включает компоненты инструментария SQL Server. Я обнаружил, что инструменты SQL Server встроены в следующие версии Visual Studio (см. здесь):

  • Экспресс для Интернета,
  • Express для рабочего стола Windows,
  • Профессиональный,
  • Премиум и
  • Окончательный

Я бы рекомендовал установить хотя бы профессиональную версию, а затем вы должны получить компоненты SQL Server Data Tools, необходимые для сборки.

Инструменты SQL Server теперь встроены в перечисленные выше версии Visual Studio 2013 (версии SSDT и Visual Studio) и последнее мартовское обновление Visual Studio 2013 теперь включает поддержку SQL Server 2014 (Доступны инструменты для работы с данными для SQL Server 2014.)

Чтобы заставить вашу сборку использовать правильную версию MSBuild, установите Process - Advanced - MSBuild arguments = "/p:VisualStudioVersion=12.0" (без кавычек), как показано.

Настройка аргументов MSBuild

person JasonMcF    schedule 23.05.2014
comment
Я все-таки установил полную версию VS2013 и после долгих разочарований заменил SQL Server 2014 на 2012. Теперь он хорошо работает со всеми компонентами. Я бы хотел, чтобы MS была более ясной в отношении совместимости различных компонентов, особенно последних выпусков. - person paulwebber10; 24.05.2014
comment
@ paulwebber10: да, кажется, это самый простой способ сделать это. В этом связанном разделе описаны и есть ссылки на то, как это можно сделать без установленной Visual Studio, но он включает в себя множество дополнительных шагов: stackoverflow.com/questions/15556339/ - person JasonMcF; 26.05.2014

Вы можете загрузить SSDT для VS2012 здесь, и это должно получить предварительные требования к базе данных для вашей сборки сервер.

Я действительно вижу упоминание «Sql Server Tooling в Visual Studio 2013» на этой целевой странице, и я думаю, это подразумевает, что эти инструменты должны быть доступны в оболочке, поэтому, если вы можете, проверьте, есть ли у вас этот целевой файл где-нибудь на вашем сервере сборки.

Зайдите в C: \ Program Files (x86) \, введите «dir Microsoft.Data.Tools.Schema.SqlTasks.targets /s /b» и посмотрите, не появится ли что-нибудь.

Прямо сейчас он жестко запрограммирован в этом месте: C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks.targets. уже существует, но в другом месте, например, в папке «v12.0» вместо подпапки «v11.0».

ИЗМЕНИТЬ. Какое значение имеет строка 126 вашего .sqlproj?

Если там написано:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

Измените его на следующее:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />

Затем попросите всех протестировать его, используя диагностический журнал, затем соберите журналы и сравните их, чтобы убедиться, что версия согласована, чтобы вы могли начать постепенно отказываться от устаревших битов.

person Nicodemeus    schedule 09.04.2014
comment
Он действительно читается, как вы сказали выше, с помощью $ (VisualStudioVersion), и он указан как 10.0. Я изменил его на 12.0, но он вернул его обратно к 11.0. Кроме того, у меня только поиск по каталогу дал только v12.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks.targets. - person paulwebber10; 09.04.2014

У меня была такая же проблема, и я исправил ее, загрузив и установив следующие

  1. dacframework.msi
  2. SQLDOM.MSI
  3. SQLLS.MSI
  4. SQLSysClrTypes.msi

отсюда:

https://www.microsoft.com/en-au/download/details.aspx?id=42295

person Stefan    schedule 26.07.2016