Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Incorporare .dll nelle risorse e poterli utilizzare
Forum - C# / VB.NET - [VB.NET] Incorporare .dll nelle risorse e poterli utilizzare

Avatar
Mr SaJaN (Normal User)
Rookie


Messaggi: 22
Iscritto: 23/07/2007

Segnala al moderatore
Postato alle 13:42
Domenica, 27/06/2010
Salve a tutti, sto sviluppando un programmino che utilizza diverse librerie esterne e mi chiedevo se fosse possibile aggiungere queste librerie come dei file di risorse, per poi richiamarle ed utilizzarle normalmente, in modo da avere un unico file .exe con tutto incorporato..

Mi sembra che su VB6 ciò non fosse possibile, ma magari hanno aggiunto questa nuova possibilità sul VB 2008 ^^

Grazie mille

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 13:46
Domenica, 27/06/2010
certo che si può.
dal menu -->progetto-->aggiungi riferimento-->tab sfoglia (per aggiungerne tue)
oppure scegli tra quelle disponibili


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM Quote
Avatar
Mr SaJaN (Normal User)
Rookie


Messaggi: 22
Iscritto: 23/07/2007

Segnala al moderatore
Postato alle 14:28
Domenica, 27/06/2010
si, questo lo so, ma facendo così questo implica che debbano essere copiate localmente per funzionare..
se ho le mie dll e l'exe, facendo così io avrò una cartella strutturata così:
- dll1.dll
- dll2.dll
- dll3.dll
- mioprogramma.exe

invece io vorrei sapere se è possibile che tutte quelle dll siano incluse dentro a mioprogramma.exe..

ad esempio se voglio aggiungere un'immagine .png al mio programma (per caricarla ad esempio su una picturebox), vado su risorse, e clicco su 'Aggiungi Risorsa' -> 'Aggiungi file esistente' e poi la richiamo usando my.resources

ecco, non c'è un modo tipo questo con le immagini, per includere file .dll, senza doverle copiare localmente, quindi avendo solo mioprogramma.exe nella struttura finale della cartella??

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:36
Domenica, 27/06/2010
Lo puoi fare come per le immagini (saranno risorse binarie) ... ma prima di usare le DLL, le devi riscrivere su disco ...

Lo potevi fare anche in VB6 ...

Ultima modifica effettuata da nessuno il 27/06/2010 alle 14:37


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Mr SaJaN (Normal User)
Rookie


Messaggi: 22
Iscritto: 23/07/2007

Segnala al moderatore
Postato alle 16:34
Domenica, 27/06/2010
del vb6 non lo sapevo ^^

comunque sai dirmi un link dove posso sapere come riscrivere le dll su disco?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5640
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:40
Domenica, 27/06/2010
Dovrei cercare con google e ne troverei tanti ... prova tu a fare una semplice ricerca ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:19
Lunedì, 28/06/2010
Se includi la libreria nelle risorse del progetto come risorsa binaria, puoi al massimo associarle uno IO.MemoryStream inizializzandolo a partire del semplice array di bytes esposto da My.Resources. Tuttavia non mi sembra che ci sia un metodo o una qualche opzione di DllImport che ti permetta di caricare metodi da un flusso di dati in memoria, quindi la soluzione più semplice è scriverle su disco e poi caricarle dinamicamente.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote