Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 46998|Respuesta: 2

[Fuente] .NET no recibe el ensamblador de referencia completo

[Copiar enlace]
Publicado en 22/8/2020 10:41:02 | | | |
Usar. .NET para obtener el ensamblador cargado está incompleto, aunque nos referimos a otras librerías pero sin llamar, no puede obtenerse en el ensamblador cargado; este artículo comparte para obtener el ensamblador completo en WinForm y ASP.NET.

Introducción

Usar. .NET para obtener el ensamblador cargado está incompleto, aunque nos referimos a otras librerías pero sin llamar, no puede obtenerse en el ensamblador cargado; este artículo comparte para obtener el ensamblador completo en WinForm y ASP.NET.

ASP.NET (sin medida)

El .NET Framework pospone la carga de ensamblajes en el AppDomain actual hasta que sean necesarios. Por ejemplo, si solo llamas a una librería de terceros desde SomeMethod(), la DLL de terceros normalmente no se cargará hasta la primera ejecución de SomeMethod().

AppDomain.GetAssemblies() te da todos los ensamblajes que se han cargado en el AppDomain actual. BuildManager.GetReferencedAssemblies() devuelve una lista de todos los ensambladores referenciados desde Web.config y otras ubicaciones, y carga esos ensamblajes en el AppDomain actual.

Código:



WinForm

Empieza usando el código de abajo para obtener el ensamblaje cargado.



El número de ensamblajes obtenidos es 12, como se muestra en la siguiente figura:



Cuando no llamamos los métodos de otras librerías, la aplicación principal no carga sus DLLs, probablemente para ahorrar sobrecarga de rendimiento, así que la primera vez que llamamos métodos a otras librerías puede ser un poco más lento.

Utiliza el código modificado, de la siguiente manera:





El número de ensambladores obtenidos es 117, y el principio es poner la dll en el directorio de la aplicación y cargarla.

En este caso, al llamar a AppDomain.CurrentDomain.GetAssemblies(). Método ToList(), puedes obtener el ensamblaje completo, que puede ser más de 117.

Consigue el conjunto actual





Anterior:.NET utiliza caché Redis para notificaciones de caducidad
Próximo:Herramienta profesional de gestión para el negocio de TI en la nube de ServiceNow
 Propietario| Publicado en 25/12/2020 15:50:46 |
Publicado en 22/9/2021 20:39:35 |
Aprende a aprender...
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com