Не выполнено требование TeamCity: существует MSBuildTools12.0_x86_Path (только для Mac) - PullRequest
0 голосов
/ 19 ноября 2018

Я видел этот вопрос, но никогда специально для Mac. Моя компания использует TeamCity на Mac Mini для сборки iOS и Android. Мы бы использовали Windows, но для сборки iOS требуется Mac с Xcode. Я не смог удовлетворить это условие. Я вижу, что на моей машине уже есть несколько версий MSBuild (и Xbuild). Вот что я попробовал:

  • установить переменную среды для MSBuildTools12.0_x86_Path с помощью launchctl setenv (пробовал каталог bin каждого экземпляра MSBuild, существующего на моем компьютере), перезагружается перед проверкой TC
  • настройка env.MSBuildTools12.0_x86_Path запись в buildAgent.properties
  • настройка system.MSBuildTools12.0_x86_Path запись в buildAgent.properties
  • войдите в TeamCity, перейдите в конфигурацию моей сборки, перейдите на вкладку «параметры» и добавьте новый параметр для env.MSBuildTools12.0_x86_Path

После того, как все вышеперечисленное не удовлетворяло условию, я попытался извлечь версию 12 MSBuild с компьютера с Windows, скопировать ее на мой Mac и вместо этого указать на ее каталог "Bin", а затем повторить все вышеприведенные маркеры.
Путь был /Users/myusername/MSBuild/12.0/Bin. Этот каталог bin содержит MSBuild.exe, папку MSBuild, несколько библиотек DLL и многое другое.

Опять же, это не могло изменить результат невыполненного условия в TeamCity. Огорчает то, что TeamCity не дает мне подробностей. Я не знаю, жалуется ли он на то, что путь даже не задан (и где он даже ищет это определение пути), или он УВИДЕТ, что путь задан, но не указывает на папку, которую он распознает как MSBuild , Я полностью в темноте.

У кого-нибудь есть для меня указания по этому поводу? Я чувствую, что исчерпал все пути к решению. Заранее большое спасибо.

1 Ответ

0 голосов
/ 21 ноября 2018

Я понял это самостоятельно.На Mac вы должны сделать тип бегуна «MSBuild» и выбрать «Mono xbuild 4.5» для версии.Я использовал "x86" для платформы запуска и установил параметр для Mono4.5_x86, чтобы он указывал на xbuild.Но он пытался запустить 64-битную версию mono, и я не нашел способа установить аргумент командной строки для mono, чтобы сказать ему, что я хочу --arch = 32, поэтому мне пришлось связать исполняемый файл mono с mono-sgen32 длязаставить сборку наконец работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...