Пользовательская обработка зависимостей сборки
Важно!
Прекращение поддержки Центра приложений Visual Studio запланировано на 31 марта 2025 г. Хотя вы можете продолжать использовать Центр приложений Visual Studio до полного прекращения его использования, существует несколько рекомендуемых вариантов, на которые можно перейти.
Узнайте больше о сроках поддержки и альтернативных вариантах.
Примечание
Проблемы, возникающие при пользовательской обработке зависимостей, как правило, выходят за рамки область поддержки Центра приложений, так как это невозможно для высокостандартной функции контроля качества.
Служба сборки Центра приложений автоматически восстанавливает зависимости приложения, необходимые для сборки.
Однако существуют сценарии, в которых для правильной обработки задач может потребоваться пользовательская обработка этих зависимостей. Пример:
- Зависимости, которым требуется дополнительное время, превышающее значения по умолчанию, используемые в Центре приложений.
- Зависимости, размещенные в общедоступных ресурсах.
Параметры обработки зависимостей
Существует несколько вариантов восстановления зависимостей:
- Автоматическое восстановление по умолчанию — типично для пакетов NuGet и аналогичных рабочих процессов.
- Настроенное автоматическое восстановление — включение в проект файлов, таких как NuGet.Config, которые изменяют обычный автоматический процесс.
- Восстановление в скрипте после клонирования — обеспечивает полный контроль над процессом восстановления.
- Включение пакетов в сам репозиторий — гарантирует доступность пакетов, но может значительно увеличить размер репозитория.
Распространенные примеры
В этих примерах приведены не все возможные сценарии, но показаны варианты для работы с восстановлением зависимостей настраиваемым способом.
Использование CocoaPods с некоторыми, а не всеми модулями pod, возвращенными в репозиторий
Обычно, если в проекте используется CocoaPods, задача сборки центра приложений main автоматически восстанавливает их с помощью pod install
. Однако если у вас есть /pods
папка, возвращенная в репозиторий, наша система предполагает, что модули pod возвращены и пропускают этот шаг.
Возможные обходные пути:
- Включая все CocoaPods.
- Удалите папку
/pods
. - Добавьте
pod install
в скрипт сборки после клонирования, чтобы добавить отсутствующие модули pod.
Пакеты Yarn, требующие дополнительного времени для надежного восстановления
Совет
Изначально служба сборки использовала время ожидания по умолчанию в 30 секунд для восстановления пакетов Yarn. Но это было обновлено до 10 минут 19 октября 2020 года. Вы можете применить обновление, выбрав Save
или Save & Build
в конфигурации ветви.
Когда время ожидания Yarn истекает при восстановлении пакетов, может появиться следующее сообщение об ошибке:
ошибка Произошла непредвиденная ошибка: "https://registry.yarnpkg.com/[PKG-NAME]/-/[PKG-NAME]-[VERSION].tgz: ESOCKETTIMEDOUT
Возможные обходные пути:
- Предоставление пакетов в репозитории.
- Восстановление в скрипте после клонирования с увеличенным временем ожидания: https://classic.yarnpkg.com/en/docs/cli/config