Эквивалент BuildManager.GetReferencedAssemblies для не веб-приложений
По сравнению сAppDomain.GetAssemblies()
, BuildManager.GetReferencedAssemblies()
(System.Web.Compilation.BuildManager) представляется более надежным способом получения сборок, на которые ссылается приложение ASP.NET во время выполнения, посколькуAppDomain.GetAssemblies () получает только "сборки, которые имеютalready загружен в контекст выполнения этого домена приложения & quot ;.
Итерация по всем сборкам является важным инструментом для динамической регистрации типов при запуске приложения в вашем контейнере DI и особенно при запуске приложения, есть вероятность, что другие сборки еще не загружены (где это не требуется), а корень композиции является первый, который нуждается в них. Поэтому очень важно иметь надежный метод для получения сборок приложения, на которые ссылаются.
ХотяBuildManager.GetReferencedAssemblies()
это надежный метод для приложений ASP.NET, мне интересно:what alternatives are available for other types of applicationsтакие как настольные приложения, службы Windows и автономные службы WCF?