Я использую Jenkins для своих сборок Xamarin (iOS). Существует два задания сборки, одно из которых работает каждый раз, когда я запускаю его, а другое перестало работать неделю go. Обе конфигурации сборки практически идентичны.
Рабочая сборка
msbuild mySolution.sln /t:restore /t:myIOSProject /p:Configuration="Release" /p:ServerAddress="XXX.XXX.XXX.XX" /p:ServerUser="adminUser" /p:ServerPassword=AdminPassword /p:Platform="iPhone"
"Сломанная" сборка
msbuild mySolution.sln /t:restore /t:myIOSProject /p:Configuration="Release" /p:ServerAddress="XXX.XXX.XXX.XX" /p:ServerUser="adminUser" /p:ServerPassword=AdminPassword /p:Platform="iPhone" /p:IpaPackageDir="%USERPROFILE%\Builds"
Сломанная сборка перестает работать со следующим сообщением:
Xamarin. iOS .Common.After.targets (81,3): предупреждение: нет связи с Ma c, задача Xamarin.Messaging.Tasks.CopyFileFromMa c не будет быть выполненным.
Мне пришлось перевести сообщение, потому что моя конфигурация сборки не в engli sh. На этом этапе сборка не завершается с ошибкой или чем-то еще, она просто зависает на этом этапе навсегда.
Как вы можете видеть, единственная разница между вышеуказанными конфигурациями - это выходная папка для файла ipa (/p:IpaPackageDir
).
Важно
Как только я удаляю опцию выходной папки в сломанной сборке, сборка снова работает нормально.
То, что я пробовал
- Killing моно через
killall mono
на Ма c - Удаление
$HOME/Library/Caches/Xamarin/XMA
и $HOME/Library/Caches/Xamarin/mtbs
.
В чем может быть причина проблемы? Проблема, кажется, возникла из ниоткуда, я не умерил Ma c или мою систему сборки.