Caricare dinamicamente DLL specificando il path

giovedì 09 aprile 2009 - 10.29

igor_74 Profilo | Newbie

buongiorno a tutti...Molto piacere mi chiamo Igor.
Avrei un piccolo problemino.....
ho l'esigenza di condividere un gruppo di dll presenti in una determinata cartella del mio pc.
i file .exe che le utilizzerebbero sono presenti in circa 60 cartelle distinte....
Per far funzionare il tutto dovrei copiare tutte le dll in ogni cartella dove e' presente l'eseguibile.....
Soluzione impossibile per via del fatto che in seguito le possibilita' che le cartelle nelle quali servirebbero
queste dll posso diventare svariate centinaia....
Per esigenze tecniche non posso copiare queste dll nella GAC.....
E' possibile specificare nel codice le dll e il path per poterle caricare?

Spero di essere stato abbastanza chiaro...ammetto che l'italiano non e' il mio forte...Si e' capito?

Grazie ...
Igor

rossimarko Profilo | Guru

Ciao,

in .net puoi caricare dinamicamente gli assembly da codice, ma devi modificare il tuo codice perchè si occupi del caricamento.

Se la tua esigenza è avere tante dll e caricare di volta in volta quella che ti serve allora ti consiglio di valutare la possibilità di usare il metodo Assembly.LoadFrom (http://msdn.microsoft.com/it-it/library/s032xzec.aspx)

Dovrai però:
- definire un'interfaccia comune che utilizzeranno le classi di ingresso contenute nei tuoi assembly
- modificare il codice del tuo exe perchè carichi la dll (Assembly.LoadFrom) e si occupi dell'esecuzione (metodo CreateInstance)

In questo thread puoi trovare qualche esempio di codice: http://forum.html.it/forum/showthread/t-834996.html
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

igor_74 Profilo | Newbie

Grazie ora faccio un paio di prove...
Molto gentile e soprattutto IMMEDIATO!!!!!
GRAZIE!!!!!!!!!!

solo un piccola postilla...


objTmpAssembly = Assembly.LoadFrom(@"D:\Path_Della_DLL\Nome.dll");

per quanto riguarda la CreateIstance che non capisco come farla....

Grazie!!!!!
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5