Logo UGIdotNET

Come far apparire un Assembly nella finestra di "Aggiungi riferimento"

Quando si sta sviluppando una libreria di classi, sarebbe comodo che questa venisse automaticamente mostrata nella lista di quelle che Visual Studio .NET rende subito disponibili nel tab .NET della finestra dei riferienti da aggiungere, senza che si debbano sfogliare le risorse per cercarla.
Questo problema non si risolve se viene installato il proprio Assembly nel Global Assembly Cache (GAC), perchè la finestra di "Aggiungi riferimento" è path-based e non enumera le componenti dalla GAC.
Per fare in modo che l'Assembly venga visualizzato nella finestra di "Aggiungi riferimento", si può inserire una chiave nel registro che punta alla locazione dell'Assembly, come questa


HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\MyAssemblies]@="C:\\MyAssemblies"

Nell'esempio MyAssemblies è il nome della cartella in cui gli Assembly risiedono.

Nota: Si può creare questa chiave di registro sotto HKEY_LOCAL_MACHINE. Questo cambierè i settaggi di tutti gli utenti del sistema. Se iene creata questa chiave sotto HKEY_CURRENT_USER, essa avrè effetto solo sui settaggi dell'utente attuale.

Riavviare Visual Studio .NET dopo aver aggiunto la chiave.

Maggiori informazioni E' fortemente raccomandato non istallare i propri Assembly nel GAC, se non li si vuole condividere con altre applicazioni che girano sul sistema. Inoltre, non è possibile referenziare direttamente un Assembly dal GAC in un proprio progetto.Se si desidera usare un'assembly installato nel GAC, bisognerebbe mettere l'assembly in una cartella locale e quindi aggiungere una referenza da questa cartella. Potrebbe essere necessario mettere la proprietà "Copy Local Property" di quell'assembly a False se non si desidera che questo venga fisicamente copiato nella directory di progetto. A runtime, l'applicazione userà l'assembly presente nel GAC.

Autore: Andrea Bini
Data: 09 ottobre 2002
Ultimo aggiornamento: 19 agosto 2004
Categorie: 

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185