Reflection e assembly

martedì 09 giugno 2009 - 13.05

biroph Profilo | Junior Member

Ciao a tutti, HELP ME!!!!
Ho un web service che tramite reflection carica un assembly (assembly1) e ne chiama i metodi.

Assembly WebRefAss = Assembly.LoadFile(locAssemblyName)
//poi assegno tutti i parametri
object svc = WebRefAss .CreateInstance(tipo);

Reflection_Util.InvokeMetod(svc, FunctionToInvoke, arrTypes, parameters);

//ho omesso un pò di codice, ma spero di rendere l'idea.

Allora, la chiamata hai metodi dell'assembly funziona correttamente, esegue i metodi e non ci sono problemi, tranne in un caso.
Se l'Assembly1 fa riferimento ad altri assembly, il mio web service cerca quest'ultimi nella sua bin e non nel path di Assembly1 chiamato. La soluzione adottata al momento è di copiare le librerie nella bin del web service, ma la cosa non mi piace e vorrei trovare una soluzione. Io avevo cominciato a pensare che forse avrei dovuto mettere un qualche riferimento nel file AssemblyInfo.cs di Assembly1, ma non ho trovato esempi che mi convincano di ciò.
potete aiutarmi, ve ne sarei grato.
Cristian

Jeremy Profilo | Guru

Ciao Cristian.
Non centra il fatto che tu utilizzi o meno le Reflection per caricare uno o più assembly.
Devono comunque essere presenti nella cartella bin dell'applicazione.

Facci sapere...
Ciao.

biroph Profilo | Junior Member


> per caricare uno o più assembly, devono comunque essere presenti nella cartella bin dell'applicazione.
Questo lo sò, ma quello che mi fa arrabbiare è che riesco a caricare un assembly (assembly1) passando il path come parametro alla LoadFile dell'oggetto Assembly e non posso credere che non ci sia un modo per dirgli che l'assembly1 referenzia altri assembly che si trovano in una determinata directory.

Assembly WebRefAss = Assembly.LoadFile(mioPath);

Ti ringrazio per qualsiasi aiuto mi potrai dare.

Cristian

tonyexpo Profilo | Senior Member


quando fai il load dei tuoi assembly nel tuo appdomain o in un altro, è possibile, visto che tu probabilmente sai quali sono le dipendenze, caricare anche queste nello stesso appdomain



in quel caso avendole ormai caricate, non ci sarà più una ricerca di questi files nella cartella di avvio o nella gac...



ciao
Antonio Esposito
MCTS .NET 3.5 WCF, .NET 2.0 Distributed applications
MCP .NET 3.5/2.0
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5