TFS 2013, сборка.NET 4.6 / C# 6.0
Мы используем TFS 2013 в качестве нашего сервера сборки. Я запустил проект на C# 6.0 и пытаюсь его собрать. Я использую новые нулевые условные операторы, и моя сборка дросселей. Я попытался установить несколько вещей на сервере TFS, включая пакет таргетинга и VS 2015. Я попытался предоставить /tv:14.0 для аргументов MSBuild.
Configuration \ EntityEntityConfig.cs (270): недопустимый термин выражения '.'
Configuration \EntityEntityConfig.cs (283): недопустимый термин выражения '.'
Конфигурация \EntityEntityConfig.cs (283): синтаксическая ошибка, ожидается ':'
... так далее.
На данный момент я понятия не имею, что еще попробовать. Любые предложения будут ценны.
6 ответов
Люди, использующие TFS 2012, сообщили об успехе, используя:
/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0
в качестве аргументов в MSBuild. Возможно, это может работать для вас, но до сих пор это не работает для моих агентов сборки TFS 2013.
Обновление: я наконец получил это, чтобы работать на TFS 2013. Вот что я должен был сделать:
- Установите VS 2015 или Microsoft Build Tools 2015 (у меня есть оба).
- Отредактируйте мою сборку, чтобы использовать шаблон процесса сборки под названием TfvcTemplate.12.xaml. Я думаю, что любой шаблон, более новый, чем этот, подойдет, но DefaultTemplate.11.1.xaml определенно не будет работать!)
- Установите аргументы MSBuild в /tv:14.0. Мне не нужно было использовать два других, упомянутых выше.
Кажется, что аргумент команды /tv:14.0 не работает должным образом. Смотрите: BuildActivity игнорирует ToolsVersion
В качестве обходного пути вам нужно настроить шаблон процесса сборки:
- Откройте шаблон в Visual Studio и найдите действие " Выполнить MSBuild for Project MSBuild".
- Установите ToolVersion на "14,0".
- Установите для параметра ToolPath значение MSBuild14 (по умолчанию: "C:\Program Files (x86)\MSBuild\14.0\Bin").
- Отметьте этот шаблон процесса сборки и поставьте его в очередь.
Если вы решите установить VS 2015 на сборочный компьютер, то есть важный шаг: откройте его для первого использования и убедитесь, что он лицензирован. В противном случае вы будете продолжать испытывать сбои сборки.
Если вы запустите DefaultTempalte.11.1.xaml, найдите действие msbuild (в этом шаблоне их 2, а их метка - "Запустить MSBuild for Project") и измените свойство ToolPath на путь набора инструментов msbuild (для меня это было "C:\Program Files (x86)\MSBuild\14.0\Bin").
Больше ничего не нужно.
Если вы используете UpgradeTemplate.xml, просто измените "Запустить TfsBuild for Configuration Folder":
1.Установите путь к ToolPath для MSBuild14 (по умолчанию: "C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin").
2.Проверьте этот шаблон процесса сборки и поставьте его в очередь.
Спасибо!
Процесс сборки определяет, какую версию инструментов сборки вы используете. В определении стандартной сборки используется шаблон процесса сборки DefaultTemplate.11.1.xaml, который настроен для использования инструментов сборки 2013.
Самый быстрый способ исправить это - просто переключиться на "TfvcTemplate.12.xaml"
Если вы хотите изменить шаблон по умолчанию, вам нужно проверить его в $/[Project]/BuildProcessTemplates/DefaultTemplate.11.1.xaml, а затем отредактировать аргументы, чтобы установить BuildProcessVersion