Come è possibile aggiungere ulteriore logica per digitare la risoluzione in fase di esecuzione?

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

  •  02-07-2019
  •  | 
  •  

Domanda

Esiste un modo generico, senza creare e gestire il proprio host CLR, per rilevare la localizzazione e il caricamento di un tipo se tale tipo non viene trovato?

Quanto segue è solo un esempio. Nella tua fretta di essere la prima risposta, non suggerire il nuovo framework aggiuntivo o MEF come soluzione alla mia domanda.

Un esempio potrebbe essere un esempio con componenti aggiuntivi. L'app legge un file in cui sono elencati i tipi da utilizzare per una particolare funzione. L'app tenta di creare un'istanza di questi tipi. Se non sono già attualmente caricati nell'appdomain, il metodo ha esito negativo. Sto cercando un evento che posso gestire o un componente per il quale posso fornire la mia implementazione che mi consentirà di gestire con garbo queste situazioni e fornire una logica aggiuntiva per il caricamento di questi assembly.


Per quanto ne so (a meno che qualcuno non abbia un esempio che funzioni) nessuno degli eventi AppDomain menzionati finora si attiva quando non viene trovato un tipo.


Aspetta, apparentemente funziona ! Non sono sicuro di cosa ho fatto di sbagliato prima, ma questo evento si accende bene e bene.

È stato utile?

Soluzione

Ci sono eventi su AppDomain che puoi utilizzare.

Desideri TypeResolve e forse l'evento AssemblyResolve .

Inoltre, puoi leggere ulteriori informazioni su come .net runtime risolve gli assembly , quindi è possibile definire queste informazioni nella sezione di sondaggio.

Altri suggerimenti

Non è possibile solo usando gli eventi AppDomain?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top