Строительство TFS 2013.NET 4.6/С# 6.0

Мы используем TFS 2013 как наш сервер сборки. Я начал проект С# 6.0, и я пытаюсь его построить. Я использую новые операторы с нулевым условием, и мои сборки дросселируются. Я попытался установить несколько вещей на сервере TFS, включая пакет таргетинга и VS 2015. Я попытался предоставить /tv:14.0 аргументам MSBuild.

Конфигурация\EntityEntityConfig.cs(270): Недопустимый термин выражения '.'
Конфигурация\EntityEntityConfig.cs(283): Недопустимый термин выражения '.'
Конфигурация\EntityEntityConfig.cs(283): Синтаксическая ошибка, ':' ожидается |... и т.д.

В этот момент я понятия не имею, что еще попробовать. Любые предложения были бы с благодарностью.

Ответ 1

Люди, использующие TFS 2012, сообщили об успехе, используя:

/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0

в качестве аргументов для MSBuild. Возможно, это может сработать для вас, но пока это не работает для моих агентов сборки TFS 2013.

Update: Я, наконец, получил это, чтобы работать над TFS 2013. Вот что мне нужно сделать:

  • Установите VS 2015 или Microsoft Build Tools 2015 (у меня есть оба).
  • Измените мою сборку, чтобы использовать шаблон процесса сборки с именем TfvcTemplate.12.xaml. Я предполагаю, что любой шаблон, более новый, чем этот, будет делать, но DefaultTemplate.11.1.xaml определенно не будет работать!)
  • Задайте аргументы MSBuild для /tv:14.0. Мне не пришлось использовать два других, упомянутых выше.

Ответ 2

Кажется, что аргумент команды /tv:14.0 не работает должным образом. Видеть: BuildActivity игнорирует ToolsVersion

В качестве обходного пути вам необходимо настроить шаблон процесса сборки:

  • Откройте шаблон в Visual Studio и найдите действие Запустить MSBuild для проекта MSBuild.
  • Установите ToolVersion в "14.0".
  • Установите ToolPath для таргетинга на MSBuild14 (по умолчанию: "C:\Program Files (x86)\MSBuild\14.0\Bin" ).
  • Проверьте этот шаблон процесса сборки и переустановите сборку.

Ответ 3

Если вы решите установить VS 2015 на машине для сборки, там будет важный шаг: откройте его для первого использования и убедитесь, что он лицензирован. В противном случае вы будете продолжать испытывать сбои сборки.

Ответ 4

Если вы запустите DefaultTempalte.11.1.xaml, то найдите действие msbuild (в этом шаблоне есть 2, а их метка - "Запустить MSBuild для проекта" ) и измените свойство ToolPath на путь набора инструментов msbuild (для меня это "C:\Program Files (x86)\MSBuild\14.0\Bin" ).

Больше ничего не нужно.

Ответ 5

Если вы используете UpgradeTemplate.xml, просто измените "Запустить TfsBuild для папки конфигурации":

1.Set ToolPath для установки на MSBuild14 (по умолчанию: "C:\Program Files (x86)\MSBuild\14.0\Bin" ).

2.Проверьте в этом шаблоне процесса сборки и переустановите сборку.

Спасибо!

Ответ 6

Процесс сборки определяет, какую версию инструментов для сборки вы используете. В определении сборки ванили используется шаблон процесса сборки "DefaultTemplate.11.1.xaml", который настроен на использование Build Tools 2013.

Самый быстрый способ исправить это - просто переключиться на "TfvcTemplate.12.xaml"

Выбрать шаблон

Если вы хотите изменить шаблон по умолчанию, вам нужно будет проверить его из $/[Project]/BuildProcessTemplates/DefaultTemplate.11.1.xaml, а затем отредактировать Аргументы, чтобы установить BuildProcessVersion

Редактировать версию процесса сборки