Oppure

Loading
04/02/11 14:13
cristian3095
Salve a tutti.....
ho creato un programma al quale per funzionare servono nella cartella di avvio due file .dll "AxInterop.WMPLib.dll" e "Interop.WMPLib.dll"
volevo sapere se è possibile incorporarli con il programma cosi che ho solo un file...cioè L'esegiubile e non devo trascinarmi dietro roba varia... ;)
Ultima modifica effettuata da cristian3095 04/02/11 19:56
aaa
05/02/11 16:06
Il Totem
Non si può fare quello che chiedi, di norma. Puoi al massimo includere quei file nelle risorse dell'eseguibile come fossero banali file binari, poi estrarli all'avvio e copiarli nella cartella adeguata. E' una specie di workaround poco elegante...
aaa
05/02/11 16:51
cristian3095
D: pensavo si potesse fare...vabbe vorra dire che dovrò portarmi quei fastidiosi file insieme all'eseguibile...
Grazie Comunque :k:
aaa
06/02/12 16:02
gigisoft
Ciao Ragazzi,

volevo aprire una nuova discussione ma, crecando, ho visto che il mio problema e' simile a quello discusso qui', quindi ho pensato di scrivere qui'.
Vengo al dunque,
devo includere nel mio programma (in VB.NET 2008) delle DLL, e potrei tranquillamente farlo (come mi e' gia' capitato in passato) come dice Totem, includendole nelle risorse dell'eseguibile...

il mio problema e' che vorrei che l'inclusione delle DLL fosse fatta a run time, ossia che il programma, all'avvio, legga in un DB opportunamente costruito quali DLL, e le relative classi, deve includere (e magari in quale cartella cercarle, ma non e' indispensabile, va bene anche se sono tutte in un'unica cartella);
in pratica il mio intento e' quello di creare un programma base e, in seguito, sviluppare dei plug-in sotto forma di DLL, da poter installare senza dover ricompilare il programma base.

Ciao.
Ultima modifica effettuata da gigisoft 06/02/12 16:07
aaa
06/02/12 18:44
und3r6r0und_
dunque... non so se ho ben capito... comunque credo che qualcosa puoi fare, ma di certo non tutto in un programma...
Prima di tutto crea un nome univoco per la/le dll del plugin, in modo che quando scarica quelle nuove vanno a sostituire le vecchie, poi crei una nuova cartella in un percorso accessibile in cui ficcherai tutte le dll (magari in: C:\Users\Public) e vai a "leggere" le dll sempre in quella cartella

spero di essere stato minimamente d'aiuto
und3r6r0und_

p.s:@cristian3095:

pensavo si potesse fare...vabbe vorra dire che dovrò portarmi quei fastidiosi file insieme all'eseguibile...


La copia byte per byte da risorse è possibile quindi non è detto che non si può fare, solo che ti devi studiare un po' di documentazione a riguardo =)
aaa
07/02/12 9:22
gigisoft
Postato originariamente da und3r6r0und_:

Prima di tutto crea un nome univoco per la/le dll del plugin, in modo che quando scarica quelle nuove vanno a sostituire le vecchie, poi crei una nuova cartella in un percorso accessibile in cui ficcherai tutte le dll (magari in: C:\Users\Public) e vai a "leggere" le dll sempre in quella cartella

spero di essere stato minimamente d'aiuto



Uhm... forse non sono stato abbastanza chiaro...
io so gia' come importare le DLL, ma per farlo, devo materialmente includerla nelle risorse del progetto, e poi inserire chiaramente nel codice l'istruzione:

 Import MiaDLL.MiaClasse 


pero' all'atto della progettazione devo gia' sapere che esiste una DLL MiaDLL in cui e' definita una classe MiaClasse

quello che vorrei fare io e' permettere al programma di includere le DLL (e le relative classi) senza sapere, all'atto della progettazione, quante e quali siano, semplicemente facendogli leggere i nomi delle DLL e delle classi in un DB.
Qualcuno sa se e' possibile?

Ciao.
Ultima modifica effettuata da gigisoft 07/02/12 9:23
aaa
07/02/12 10:25
Il Totem
Sì, è possibile. Usa Assembly.Load.
aaa