С# 6.0 TFS Builds

Я тестирую новые функции С# 6.0 в CTP Visual Studio 2015 и мой проект не может построить в TFS 2013 и Visual Studio Online.

Я понимаю, что Visual Studio использует новый компилятор Roslyn, который заменяет собственный .NET один, поэтому агент сборки TFS не может скомпилироваться.

Мой вопрос: как установить Roslyn в агенте сборки (и в Visual Studio Online) и сообщить агенту сборки использовать этот компилятор над native?

Ответ 1

Для этапа компиляции у вас есть несколько вариантов:

  • Вы можете ссылаться на пакет Microsoft.Net.Compilers NuGet для каждого проекта для использования этой версии компиляторов.
  • Вы можете установить пакет Microsoft Build Tools, который является частью пакета CTP VS 2015 без установки всех VS.

Однако, как отмечает @MrHinsh, эти подходы могут оставить вам недостающие другие части вашей инструментальной цепочки.

Ответ 2

Если вы создаете Azure VM с Server 2012 r2 и установите Visual Studio 2015 CTP и TFS 2013 Build, вы можете подключить его к VSO.

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

В то время как вы можете просто установить компиляторы, вам больше нужно строить, чем просто компилировать. Вам, скорее всего, очень понадобятся другие функции Visual Studio, например Unit Testing, для выполнения как части вашей сборки. Ваш агент сборки должен отражать стандартную рабочую станцию ​​разработчика. Если ваши разработчики нуждаются в этом, то агент likley нуждается в этом.

Примечание. Visual Studio лицензируется для отдельных лиц, а не для машины. Для запуска агента сборки нет лицензии. Действительно, пока у вас есть одна лицензия, зарегистрированная на вашем или определенном уровне, скажем, Ultimate, тогда вы можете установить это на каждый сервер сборки.

Ответ 3

Используется/tv:14.0/p: GenerateBuildInfoConfigFile = false/p:VisualStudioVersion=14.0 в аргументах MSBuild в разделе Process в BuildTemplate.