Подтвердить что ты не робот

Можно ли настроить TeamCity для использования MSBuild, который поставляется с Visual Studio 2015?

Я пытаюсь создать проект vNext ASP.NET в TeamCity. Когда он пытается построить, я получаю следующую ошибку:

C:\...\MyApp.kproj(7, 3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\AspNet\Microsoft.Web.AspNet.Props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Файл, который он ищет, на самом деле находится в C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AspNet\Microsoft.Web.AspNet.Props

Я предполагаю, что мне нужно заставить TeamCity использовать версию msbuild, которая поставляется с Visual Studio 2015. Возможно ли это?

4b9b3361

Ответ 1

В JetBrains, он не поддерживается напрямую, хотя это должно быть возможно с помощью командбелей TeamCity.

Ответ 2

Изменить: Как и в TeamCity 9.x, все работает из коробки, но для более ранних версий ниже это решение.

Проблема импорта проекта должна быть решена путем установки свойства среды env.VSToolsPath на C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0.

Тем не менее, вы не сможете создавать, используя входящий в TeamCity проигрыватель MSBuild. Но использование командной строки очень просто. Я достал мета-бегуна, как это. Он имеет почти такую ​​же функциональность, как и входящий в TeamCity MSBuild 2013 бегун. Если вам нужна дополнительная конфигурация, просто добавьте больше параметров.

Мой мета-бегун оказался таким:

<?xml version="1.0" encoding="UTF-8"?>
<meta-runner name="MSBuild 2015">
  <description>MSBuild 2015 command line runner</description>
  <settings>
    <parameters>
      <param name="solutionFile" />
      <param name="target" value="Build" />
    </parameters>
    <build-runners>
      <runner name="MSBuild 2015" type="simpleRunner">
        <parameters>
          <param name="command.executable" value="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" />
          <param name="command.parameters" value="/v:m /m /t:%target% %solutionFile%" />
          <param name="teamcity.step.mode" value="default" />
        </parameters>
      </runner>
    </build-runners>
    <requirements />
  </settings>
</meta-runner>

Примечание. Ожидается, что TeamCity 9.1, рассчитанный на Q2 2015, будет строить проекты VS2015 изначально.

Ответ 3

Альтернативным решением является простое использование инструментов 12.0 с помощью инструментов 14.0. Я только что загрузил последние инструменты сборки Visual Studio 2015 (обновление 2). Установил его на моих агентах и ​​

  • Переименован C:\Program Files (x86)\MSBuild\12.0 = > C:\Program Files (x86)\MSBuild\12.0-old

  • Скопированные C:\Program Files (x86)\MSBuild\14.0 = > C:\Program Files (x86)\MSBuild\12.0

Работа! Вам нужно иметь 14.0-инструменты в папках с 12 и 14 для работы.