По сравнению с AppDomain.GetAssemblies()
, BuildManager.GetReferencedAssemblies()
(System.Web.Compilation.BuildManager) представляется более надежным способом получения сборок, на которые ссылается Приложение ASP.NET во время выполнения, поскольку AppDomain.GetAssemblies() получает только "сборки, которые уже были загружены в контекст выполнения этого домена приложения".
Итерация через все сборки - важный инструмент для динамической регистрации типов при запуске приложения в вашем контейнере DI, и особенно во время запуска приложения, скорее всего, другие сборки не загружены (где не нужны), а композиция root - это первый, который им нужен. Поэтому очень важно иметь надежный метод для получения ссылок на заявки, на которые ссылаются.
Хотя BuildManager.GetReferencedAssemblies()
является надежным методом для приложений ASP.NET, мне интересно: какие альтернативы доступны для других типов приложений, таких как настольные приложения, службы Windows и самообслуживания Услуги WCF?