У меня есть несколько приложений ASP.NET vNext, и я хочу, чтобы мой сервер CI также мог их создавать. И моя локальная машина, и сервер CI работают под управлением VS2015 RC. Затем у нас есть VS Online и локальный контроллер сборки — упомянутый сервер.
Однако я не могу запустить сборку, так как, похоже, он ищет инструментарий v12, который не включает ничего DNX.
Итак, сборка решения дает:
Пакет Dnx Runtime должен быть установлен. Смотрите окно вывода для более подробной информации
Он установлен, так как он поставляется с VS2015 RC, насколько мне известно. Поэтому я подумал, что шаблон сборки не использует инструменты v14. Я скачал шаблон Git по умолчанию v12. И действительно сказано:
<this:Process.BuildProcessVersion>12.0</this:Process.BuildProcessVersion>
Поэтому я переключил это на 14, загрузил шаблон, запустил сборку. Затем:
Сообщение об исключении: Контроллер сборки, используемый для этой сборки, не поддерживает версию файла шаблона, используемую определением сборки. Версия файла шаблона 14.0. Максимальная поддерживаемая версия для этого контроллера сборки — 12.0.0.0.
Итак, пытаясь решить эту проблему, я пришел к этому -2013-support-2012-build-controller-machine?forum=tfsbuild" rel="nofollow noreferrer">вопрос форума, в котором говорится:
Затем вместо изменения свойства BuildProcessVersion вам необходимо изменить задействованную версию MSBuild. Откройте шаблон процесса сборки, найдите действие Run MSBuild for Project, измените свойство ToolPath на msbuild версии 2013.
Итак - я проверил шаблон - версии ToolPath нет. Однако есть свойство ToolVersion, которое я попробую установить на 14:
Короче говоря, мой вопрос: как я могу создавать приложения ASP.NET vNext на моем сервере сборки, на котором установлен VS2015RC, но сборка выполняется с использованием инструментов v12?
ОБНОВЛЕНИЕ
Похоже, что проблема заключается не столько в использовании неправильного инструментария, сколько в поиске/использовании правильной среды выполнения DNX при работе под служебной учетной записью (что делает агент TFS). Я добавил задачу для команды DNX: https://github.com/aspnet/dnx/issues/2239 .