Некоторые причины, по которым в корпоративном программировании следует избегать использования публичных NuGet-репозиториев:
- Ненадёжность источников пакетов. 1 Любой желающий может создать учётную запись и загрузить в открытый источник пакет, который впоследствии будет использоваться другими. 1 Это делает такие источники ненадёжными, так как они не контролируют наличие вредоносного кода в пакетах. 1
- Отсутствие контроля качества. 2 Пакеты в публичных репозиториях не проходят проверку качества. 2 Разработчики вынуждены полагаться на рекомендации сообщества, собственное тестирование или узнаваемость бренда. 2
- Проблемы с управлением зависимостями и версиями. 1 Владелец пакета может ввести зависимость, которая необходима для его работы, но несовместима с приложением. 1 Также он может загрузить новую версию пакета, которая будет работать, но станет причиной бага в приложении. 1
- Возможные сбои в работе сервиса. 2 Так как NuGet.org — публичный сайт, возможны сбои в работе сервиса, которые могут заблокировать работу команды. 2
Чтобы снизить риски, компаниям рекомендуется создавать собственные пакеты, управлять ими и их зависимостями, а также использовать собственные внутренние источники пакетов. 1