¿Cómo se puede agregar lógica adicional para escribir la resolución en tiempo de ejecución?

StackOverflow https://stackoverflow.com/questions/122544

  •  02-07-2019
  •  | 
  •  

Pregunta

¿Existe una forma genérica, sin crear ni administrar su propio host CLR, de encargarse de localizar y cargar un tipo si no se encuentra ese tipo?

El siguiente es sólo un ejemplo.En su prisa por ser la primera respuesta, no sugiera el nuevo marco de complementos ni el MEF como solución a mi pregunta.

Un ejemplo sería una muestra con complementos.Su aplicación lee un archivo que enumera los tipos que se usarán para una función particular.La aplicación intenta crear instancias de esos tipos.Si aún no están cargados en el dominio de la aplicación, el método falla.Estoy buscando un evento que pueda manejar o un componente para el que pueda proporcionar mi propia implementación que me permita manejar estas situaciones con elegancia y proporcione lógica adicional para cargar estos ensamblados.


Hasta donde puedo decir (a menos que alguien tenga un ejemplo que funcione), ninguno de los eventos AppDomain mencionados hasta ahora se activa cuando no se encuentra un tipo.


Espera, aparentemente esto esta funcionando!No estoy seguro de qué hice mal antes, pero este evento funciona muy bien.

¿Fue útil?

Solución

Hay eventos en el Dominio de aplicación que puedes usar.

Querrías TipoResolver evento, y posiblemente el AsambleaResolver evento.

Además, puede leer más sobre cómo El tiempo de ejecución de .net resuelve ensamblados, por lo que es posible que pueda definir esta información en la sección de sondeo.

Otros consejos

¿No es eso posible simplemente usando eventos AppDomain?

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