BuildManager.GetReferencedAssemblies equivalentes para aplicaciones no web

Comparado conAppDomain.GetAssemblies(), BuildManager.GetReferencedAssemblies() (System.Web.Compilation.BuildManager) parece una forma más confiable de obtener los ensamblados a los que hace referencia una aplicación ASP.NET en tiempo de ejecución, ya queAppDomain.GetAssemblies () Solo obtiene "los ensamblajes que tienenya ha sido cargado en el contexto de ejecución de este dominio de aplicación ".

La iteración en todos los ensamblajes es una herramienta importante para registrar dinámicamente los tipos al inicio de la aplicación en su contenedor DI y especialmente durante el inicio de la aplicación, lo más probable es que otros ensamblajes aún no estén cargados (cuando no sean necesarios), y la raíz de la composición es la El primero que los necesita. Por lo tanto, es muy importante contar con un método confiable para obtener los ensamblajes de referencia de la aplicación.

A pesar de queBuildManager.GetReferencedAssemblies() Es un método confiable para aplicaciones ASP.NET, me pregunto:¿Qué alternativas están disponibles para otros tipos de aplicaciones?, como aplicaciones de escritorio, servicios de Windows y servicios WCF autoalojados?

Respuestas a la pregunta(3)

Su respuesta a la pregunta