Я не знаю каких-либо конкретных ограничений на количество сборок. Но, столкнувшись с проблемами производительности из-за многих сборок, я могу немного поговорить об этом.
Из-за различных проверок согласованности, которые CLR выполняет при загрузке сборок (например, проверка сильного имени) и вероятность того, что rebasing требуется, очень возможно, что наличие большого количества сборок может иметь значительные последствия для производительности.
Но если ваше приложение не требует загрузки всех сборок спереди, их разбиение на несколько сборок может фактически помочь отложить стоимость загрузки сборок в течение более длительного промежутка времени, а не загружать один массивный сборка передний.
Три вещи, которые вы могли бы сделать, чтобы улучшить время загрузки, если они станут проблемой являются:
- Строгое имя ваших сборок и поместить их в GAC на время установки
- Run NGEN на GAC'd сильные названные сборки во время установки
- Укажите адрес нестандартную базы для различных библиотек, чтобы свести к минимуму перебазирования
для 1 и 2, они в значительной степени идут рука об руку. Прирост производительности NGEN может быть не полностью реализован, если сборки не находятся в GAC из-за сильной проверки имени. CLR может пропустить эту проверку для сборок в GAC.
Вот отличный MSDN article regarding application startup times.
Вау, это, наверное, один из самых больших! Но здесь не проблема, так как мы используем IoC/DI и уменьшаем базовое число зависимостей для каждого плагина (в этом случае 2) – Kumar