Pregunta

¿Cuál es la forma más fácil de descubrir qué asamblea está desencadenando ciertas dependencias que se cargarán en tiempo de ejecución? Tengo una referencia callejera a una antigua asamblea en algún lugar, en uno de los más de 100 ensamblajes que se cargan como parte de nuestra aplicación.

Usando Fuslogvw Puedo ver el antiguo ensamblaje que se está cargando, pero los registros no me dicen qué ensamblaje ha hecho que se cargue. he usado Control Lo que me permite navegar por las dependencias del ensamblaje primario y explorar por el árbol, pero todas están bien.

Por lo tanto, debe ser un ensamblaje que se está cargando dinámicamente en tiempo de ejecución, o un archivo de configuración en algún lugar. Pero no puedo encontrarlo por mi vida.

¿Me preguntaba si había una forma más inteligente de hacer esto?

¿Fue útil?

Solución

Quizás puedas suscribirte a Ensamblar evento en todos los dominios de la aplicación (si no hay demasiados). ResuelveEventArgs contiene un campo especial para esto - ResuelveEventargs.RequestingAssembly

Otros consejos

¿Qué tal eliminar (o renombrar) el ensamblaje para ver si se lanza una excepción en el punto en que el programa intenta cargarlo? El rastro de la pila debe contener una referencia a un método del ensamblaje de llamadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top