Не удается создать приложение (.NET Framework 4.6.2) в TeamCity

Я использую TeamCity 9.1.3. Мы используем MSBuild Tools 15 для создания нашего приложения. Наше приложение было ориентировано на 4.5.2, и все прошло нормально. Теперь мы изменили фреймворк внутри приложения на 4.6.2. Разработчики могут создавать свои приложения локально, используя Framework 4.6.2 в Visual Studio.

Но на нашем сервере TeamCity сборка дает сбой. Похоже, TeamCity все еще использует старый фреймворк. Мы установили 4.6.2 Framework. У нас есть MS BuildTools 15. Наша версия MSBuild Tools - 14 и runplatform x64. То же самое и с приложениями, которые все еще используют фреймворк 4.5.2.

Что нам нужно изменить, чтобы наше задание TeamCity для этого приложения использовало 4.6.2 (используя тот же buildTools 15, что и другие наши приложения, которые все еще используют 4.5.2).

Мы не видим 4.6.2 внутри кнопки версии MSBuild в нашей конфигурации задания. Мы видим BuildTools 15, BuildTools 13 и .NET Framework 4.5, 4.0, 3.5, ...

Я также не вижу Framework 4.6.2 внутри Windows и функций нашего сервера (но он установлен на хосте). Мы работаем над Windows Server 2012 R2.


person DenCowboy    schedule 31.07.2017    source источник
comment
Что произойдет, если вы запустите msbuild.exe из командной строки на сервере TeamCity? Это работает?   -  person Dávid Molnár    schedule 01.08.2017


Ответы (1)


У меня это сработало, поэтому вот что вам нужно сделать.

Установите MSBuildTools15.

Используйте NuGet для следующих целей:

nuget install Microsoft.Net.Compilers
nuget install Microsoft.CodeAnalysis

Установите язык проекта на C # 6 (Свойства | Сборка | Расширенные настройки | Версия языка C # 6.0

Скопируйте настройки VS 14.0 из хорошей версии (машина разработчика с установленной Visual Studio) и поместите на целевой сервер сборки C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 *. *.

Добавлен в качестве первого шага в вашу сборку TeamCity

  • Тип бегуна: установщик NuGet
  • Название шага: получить пакеты
  • Nuget.exe

Примечание: вы не увидите 4.6.2 внутри версии MSBuild, но она будет скомпилирована точно так же.

person Aeroradish    schedule 22.08.2017