Entra

View Full Version : [C++ VS2010] DLL referenziata non viene copiata nella cartella dell'EXE


the_tube
23-11-2010, 14:14
Salve a tutti,

avrei bisogno di una mano con un progetto a più moduli. Lo scenario è questo:
- ho una solution con 2 progetti, ovvero una DLL ed un EXE, entrambi scritti in C++;
- il progetto dell'EXE possiede come riferimento il progetto della DLL (aggiunto tramite Aggiungi Nuovo Riferimento...).

Quando lancio la compilazione dell'EXE:
- giustamente compila prima la DLL, mettendola nella propria cartella target;
- poi compila l'EXE, mettendola nella propria cartella target, diversa dalla precedente ovviamente perché sono 2 progetti separati;

Il problema è che la DLL non mi compare anche a fianco all'EXE, ma solo nella directory target della DLL, cosa che in una solution C# avviene in modo naturale.

Ho provato a smanettare un po' con le proprietà del riferimento all'interno dell'EXE, ma non cambia nulla; in particolare la proprietà "Copia Localmente" è impostata a true di default, ma non ha effetto.

Lavoro con VS2010, sotto Windows XP SP3. Spero di non aver dimenticato nulla...

Qualcuno ha qualche idea?

Grazie in anticipo,
TT.

downloader
25-11-2010, 14:07
il copia localmente l'hai fatto sul riferimento alla dll ?

hai provato a fare un progetto di distribuzione (intendo un setup) ?

the_tube
26-11-2010, 10:24
il copia localmente l'hai fatto sul riferimento alla dll ?


Si, ho aperto le proprietà del riferimento e la proprietà Copia localmente era già a true.


hai provato a fare un progetto di distribuzione (intendo un setup) ?

Lo farò sicuramente in fase di deploy, ma in fase di debug risulta scomodo ricordarsi ogni volta di copiare la DLL corretta.

Dato che l'applicazione host possiede una dipendenza, in fase di compilazione dell'EXE vorrei che venisse compilata anche la DLL (e questo viene già fatto) e che venisse copiata a fianco all'EXE nella cartella Debug o Release a seconda della configurazione.

downloader
26-11-2010, 10:42
non ottieni errori ...

fa così prova a cambiare le cartelle dei progetti. Può essere un problema di permessi, anche se ne dubito...