5

Ho una soluzione composta da 3 progetti. Ho creato un progetto di implementazione che include solo le dipendenze da uno dei progetti nella mia soluzione.Come includere le dipendenze nel progetto di installazione e distribuzione?

Quello che ho fatto finora è nel mio progetto di installazione e distribuzione, ho fatto clic con il pulsante destro del mouse su "Cartella applicazione" su Aggiungi -> Output progetto. Successivamente ho selezionato il mio progetto principale da un menu a discesa e selezionato "Uscita primaria". Ho fatto clic su OK e le dipendenze del progetto sono state incluse correttamente nella distribuzione.

Ho provato a ripetere lo stesso processo per le altre DLL nella mia soluzione, ma non ha incluso le loro dipendenze.

Come includere tutte le dipendenze per ciascun progetto?

risposta

0

Si prega di notare che le dipendenze rilevate da un progetto di installazione di Visual Studio sono più come suggerimenti. Non dovresti fidarti troppo di loro perché i falsi positivi sono molto comuni.

Per un installatore professionista è necessario determinare autonomamente le dipendenze corrette e aggiungerle nel progetto nella forma appropriata. Ad esempio, alcune delle dipendenze possono far parte di un runtime o framework che può essere aggiunto come prerequisito per l'installer.

Se non riesci a capire quali dipendenze ha l'applicazione, puoi provare a utilizzare dependency walker.

0

VS I progetti di installazione dipendono dal fatto che la funzionalità di deambulazione è piuttosto forte ed è davvero un ottimo punto di partenza per il controllo diretto delle dipendenze e il packaging binario del prodotto. Con aumento della verbosità di build, consente l'analisi diretta della versione di ciascuna DLL a cui si fa riferimento in modo da avere le informazioni necessarie per aggiornare i riferimenti di build. Sfortunatamente, le informazioni sulla versione sono inserite nelle dipendenze e il progetto di installazione potrebbe non raccogliere le informazioni se non trova una versione appropriata disponibile nei percorsi di ricerca.

Per quanto riguarda i falsi positivi, la mia esperienza è che introdurrà qualsiasi riferimento binario indipendentemente dal fatto che esista un percorso di codice effettivo su quell'albero. Una soluzione a questo problema è il refactoring del codice (granularizzare i progetti un po 'meglio).

Se non si utilizzano riferimenti diretti al progetto, i progetti di installazione non porteranno tali dipendenze. È questo il problema che stai incontrando? Altrimenti, verificherei la verbosità del registro e cercherò i riferimenti che ti aspetti. Dovrebbe dire quale versione sta cercando e dove è stata cercata e perché non ha afferrato nulla.

Problemi correlati