Ho un gruppo di WPF che io uso in uno scenario di interoperabilità da codice nativo utilizzando il contesto LoadFrom carico in questo modo:WPF risorsa di carico non riesce nel contesto di caricamento LoadFrom
AppDomain.CreateInstanceFrom("c:\mydlls\mywpfstuff.dll", "myclass")
Nota che mydlls non è la stessa cartella dove si trova l'eseguibile. Funziona bene per le normali DLL non-ui .NET che carico anch'io, ma quando provo a fare ciò ottengo un errore. Ho allegato il gestore di eventi AppDomain.CurrentDomain.AssemblyResolve e un evento get in cui non riesce a caricare. Il nome in ResolveEventArgs è "mywpfstuff.resources" e RequestingAssembly è vuoto. Non ho un file chiamato "mywpfstuff.resources" e non sono riuscito a capire come fare questo assemblaggio risolvendo me stesso.
La riga di codice che attiva l'errore è InitializeComponent(); chiama il mio costruttore di controlli utente principale.
Mi sembra che i meccanismi interni XAML (BAML?) Provino a caricare alcune risorse, ma utilizza il contesto di caricamento standard anziché il contesto LoadFrom.
Esiste un modo per aggirare questo problema, preferibilmente facendo in modo che WPF utilizzi il contesto LoadFrom o se ciò non è possibile come risolvere manualmente l'assembly?
Avete un file con nome 'Resources.resx' in' progetto mywpfstuff' (probabilmente in ' Cartella Proprietà')? Se è così, cosa significa "Build Action"? – SHSE
Non sono sicuro che importi molto - vedrete che molti dll-s hanno provato ad essere caricati quando si usa AssemblyResolve (nella mia esperienza). Hai qualcos'altro da aggiungere sul tuo progetto: cos'è esattamente "myclass"? – NSGaga
Hai provato a restituire l'assembly mywpfstuff dal gestore eventi quando viene richiesto mywpfstuff.resources? – mgronber