Мне не известно о каких-либо конкретных ограничениях на количество сборок. Но, столкнувшись с проблемами производительности из-за множества сборок, я могу немного рассказать об этом.
Из-за различных проверок согласованности, которые CLR выполняет при загрузке сборок (например, проверка строгого имени), и вероятности того, что потребуется перебазирование , весьма вероятно, что большое количество сборок может иметь значительную производительность последствия.
Но если вашему приложению не требуется, чтобы все сборки загружались заранее, их разбивка на несколько сборок может фактически помочь отложить стоимость загрузки сборок на более длительный промежуток времени вместо загрузки одной массивной сборки. впереди.
Три вещи, которые вы могли бы сделать, чтобы улучшить время загрузки, если они стали проблемой:
- Строго назовите ваши сборки и поместите их в GAC во время установки
- Запускать NGEN на сборках со строгим именем GAC во время установки
- Укажите нестандартный базовый адрес для различных библиотек DLL, чтобы минимизировать перебазирование
Для 1 и 2 они в значительной степени идут рука об руку. Прирост производительности NGEN может быть не полностью реализован, если сборки не находятся в GAC из-за строгой проверки имени. CLR может пропустить эту проверку для сборок в GAC.
Вот отличная статья MSDN о времени запуска приложений.