Condividi tramite


Riferimenti dei progetti

Per scrivere un codice in relazione a un componente esterno, il progetto deve anzitutto contenere un riferimento a tale componente. È possibile definire un riferimento ai tipi di componenti che seguono:

  • Librerie di classi o assembly di .NET Framework

  • Componenti COM

  • Altri assembly o altre librerie di classi dei progetti nella stessa soluzione

  • Servizi Web XML

Per ulteriori informazioni sui riferimenti ai servizi Web XML. vedere Riferimenti Web in Visual Studio.

Aggiunta di riferimenti in fase di progettazione

Utilizzare la finestra di dialogo Aggiungi riferimento per aggiungere riferimenti ai componenti in fase di progettazione.

È possibile utilizzare la finestra di dialogo Aggiungi riferimento per individuare gli assembly non elencati. Non è possibile aggiungere riferimenti dalla Global Assembly Cache (GAC) poiché fa parte dell'ambiente di runtime.

Quando si fa riferimento a un assembly nel progetto, in Visual Studio l'assembly viene cercato nelle posizioni seguenti:

  • La directory del progetto corrente. (È possibile trovare questi assembly utilizzando la scheda Sfoglia.)

  • Altre directory di progetto nella stessa soluzione. (È possibile trovare questi assembly nella scheda Progetti.)

Per ulteriori informazioni sull'aggiunta di riferimenti in fase di progettazione, vedere Procedura: aggiungere o rimuovere riferimenti in Visual Studio.

Nota

Tutti i progetti contengono un riferimento implicito a mscorlib. I progetti di Visual Basic contengono un riferimento implicito a Microsoft.VisualBasic.

In Visual Studio 2010, tutti i progetti contengono un riferimento implicito a System.Core, anche se System.Core è rimosso dall'elenco di riferimenti.

Riferimenti a componenti condivisi in fase di esecuzione

In fase di esecuzione, i componenti devono trovarsi nel percorso di output del progetto oppure nella Global Assembly Cache (GAC). Se il progetto contiene un riferimento a un oggetto che non si trova in una delle posizioni indicate sopra, è necessario copiare il riferimento nel percorso di output del progetto al momento della compilazione del progetto stesso. La proprietà CopyLocal indica se questa copia è necessaria o meno. Se il valore è True, il riferimento viene copiato nella directory del progetto durante la compilazione del progetto. Se il valore è False il riferimento non viene copiato.

Se si distribuisce un'applicazione che contiene un riferimento a un componente personalizzato registrato nella Global Assembly Cache, tale componente non verrà distribuito con l'applicazione, indipendentemente dall'impostazione di CopyLocal . Nelle precedenti versioni di Visual Studio, era possibile impostare la proprietà CopyLocal su un riferimento per garantire la distribuzione dell'assembly. Nella versione corrente, è necessario aggiungere manualmente l'assembly alla cartella \Bin. In questo modo tutto il codice personalizzato viene posto sotto esame, riducendo il rischio di pubblicazione di codice personalizzato con cui non si ha familiarità.

Per impostazione predefinita, la proprietà CopyLocal è impostata su False se l'assembly o il componente si trova nella Global Assembly Cache oppure è un componente del framework. In caso contrario, il valore è impostato su True. I riferimenti da progetto a progetto sono sempre impostati su True.

Riferimento a un progetto o un assembly destinati una versione diversa di .NET Framework

È possibile creare applicazioni che fanno riferimento a progetti o assembly destinati a una versione diversa di .NET Framework. Ad esempio, è possibile creare un'applicazione destinata a .NET Framework 4 Client Profile che fa riferimento a un assembly destinato a .NET Framework versione 2.0. Se si crea un progetto destinato a una versione precedente di .NET Framework, non è possibile impostare un riferimento in quel progetto a un progetto o un assembly destinati a .NET Framework 4 Client Profile o .NET Framework 4.

Per ulteriori informazioni, vedere Scelta di una versione o profilo di .NET Framework specifico.

Riferimenti da progetto a progetto e riferimenti a file

I riferimenti a file sono riferimenti diretti agli assembly. Vengono creati utilizzando la scheda Sfoglia della finestra di dialogo Aggiungi riferimento. I riferimenti da progetto a progetto sono riferimenti a progetti contenenti assembly. Vengono creati utilizzando la scheda Progetto della finestra di dialogo Aggiungi riferimento.

Il vantaggio di un riferimento da progetto a progetto consiste nella creazione di una dipendenza tra i progetti nel sistema di compilazione. Di conseguenza, il progetto dipendente viene compilato se sono state eseguite modifiche dall'ultima volta in cui è stato compilato il progetto a cui si fa riferimento. Tramite un riferimento al file non viene creata una dipendenza di compilazione e perciò è possibile compilare il progetto di riferimento senza compilare quello dipendente. In questo modo è possibile che un riferimento diventi obsoleto. (Cioè, il progetto fa riferimento a una versione del progetto compilata precedentemente.) Questo può determinare la richiesta di più versioni di una stessa DLL nella directory bin, realizzando una condizione impossibile. Quando si verifica questo conflitto, viene visualizzato un messaggio di errore quale Avviso: impossibile copiare la dipendenza "file" del progetto "progetto" nella directory di esecuzione perché sovrascriverebbe il riferimento "file"..

Evitare di aggiungere riferimenti a file agli output di altri progetti della stessa soluzione, poiché potrebbero verificarsi errori di compilazione. Utilizzare invece la scheda Progetti della finestra di dialogo Aggiungi riferimento per creare riferimenti da progetto a progetto all'interno della stessa soluzione. Tale procedura facilita lo sviluppo in team, consentendo una migliore gestione delle librerie di classi create nei progetti. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai riferimenti interrotti e Procedura: creare e rimuovere dipendenze di progetto.

Nota

In Visual Studio 2010, viene creato un riferimento al file anziché un riferimento al progetto se la versione di destinazione di .NET Framework di un progetto è 4 e la versione di destinazione dell'altro progetto è 2, 3 o 3.5.

Riferimenti Web

È anche possibile aggiungere riferimenti Web tramite la finestra di dialogo Aggiungi riferimento Web. Per ulteriori informazioni, vedere Procedura: aggiungere e rimuovere riferimenti Web.

Vedere anche

Attività

Risoluzione dei problemi relativi ai riferimenti interrotti

Procedura: aggiungere o rimuovere riferimenti in Visual Studio

Altre risorse

Riferimenti a spazi dei nomi e componenti

Gestione dei riferimenti

Programmazione con gli assembly