Condividi tramite


Gestione di riferimenti a progetti

Prima di creare codice in base a un componente esterno, è necessario, innanzitutto, che il progetto contenga un riferimento a tale componente.È possibile definire un riferimento ai tipi di componenti che seguono:

  • Riferimenti per le applicazioni Windows Store

  • 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 Web References.

Riferimenti per le applicazioni Windows Store

Riferimenti dei progetti

I progetti Windows Store destinati a Windows 8 non possono dipendere dai progetti o dai binari Windows Store destinati a Windows 8.1.

Se la destinazione di un progetto nell'applicazione è Windows 8.1 e l'applicazione è costituita da un progetto C++ Windows Store, sarà necessario eseguire i passaggi riportati di seguito:

  1. Ridestinare tutti i progetti nell'applicazione a Windows 8.1.Fare clic con il pulsante destro del mouse su ogni progetto nell'applicazione e selezionare il comando Ridestina a Windows 8.1, quindi fare clic su OK nella finestra di dialogo Controlla modifiche a progetti e soluzioni.

  2. Fare clic con il pulsante destro del mouse su ogni progetto Visual Basic, Visual C# e JavaScript che dipende da un progetto C++ Windows Store, scegliere Aggiungi riferimento, passare alla scheda Windows, quindi alla sottoscheda Estensioni, deselezionare Microsoft Visual C++ Runtime Package v11.0 e selezionare Microsoft Visual C++ Runtime Package v12.0, quindi fare clic su OK.

I progetti Visual Basic, C# e JavaScript Windows Store che hanno come destinazione Windows 8.1 possono fare riferimento a progetti Visual Basic e C# Windows Store che hanno come destinazione Windows 8, a condizione che questi progetti non utilizzino API che siano state deprecate in Windows 8.1.Vedere la pagina relativa alla migrazione delle applicazioni Windows 8 a Windows 8.1 Preview per individuare se i progetti Windows Store destinati a Windows 8 continueranno a funzionare come previsto quando vengono utilizzati come riferimento da un progetto Windows 8.1.

Riferimenti all'SDK di estensione

I progetti Visual Basic, C#, C++ e JavaScript Windows Store che hanno come destinazione Windows 8.1 non possono fare riferimento a SDK di estensione che dipendono dal pacchetto di runtime v11.0 Microsoft Visual C++, poiché ciò causerà problemi di runtime.È possibile verificare se un SDK di estensione dipende dal pacchetto Microsoft Visual C++ Runtime v11.0 creando un nuovo progetto C# Windows Store, facendo clic con il pulsante destro del mouse sul progetto e scegliendo Aggiungi riferimento, andando alla scheda Windows, quindi alla sottoscheda Estensioni, selezionando l'SDK di estensione e vedendo se il riquadro di destra in Gestione riferimenti elenca Microsoft.VCLibs, versione = 11.0 come dipendenza.

I progetti Visual Basic, C# e JavaScript Windows Store che hanno come destinazione Windows 8.1 possono fare riferimento a SDK di estensione che non dipendono dal pacchetto di runtime v11.0 Microsoft Visual C++, purché tali SDK di estensione non utilizzino API che siano state deprecate in Windows 8.1.Verificare il sito del fornitore dell'SDK di estensione per accertare se può essere utilizzato come riferimento dai progetti Windows Store destinati a Windows 8.1.

Se si determina che l'SDK di estensione a cui viene fatto riferimento dall'applicazione non è supportato, è necessario eseguire i passaggi seguenti:

  1. Verificare il nome del progetto che sta causando l'errore.La piattaforma che è destinata al progetto è indicata tra parentesi accanto al nome del progetto.Ad esempio, MyProjectName (Windows 8.1) significa che il progetto MyProjectName è destinato alla versione della piattaforma Windows 8.1.

  2. Accedere al sito del fornitore che possiede l'SDK di estensione non supportato e installare la versione dell'SDK di estensione con dipendenze che sono compatibili con la versione della piattaforma a cui è destinato il progetto.

    [!NOTA]

    Un modo per rilevare se a un SDK di estensione sono associate dipendenze da altri SDK di estensione consiste nel riavviare Visual Studio, creare un nuovo progetto Window Store in C#, fare clic con il pulsante destro del mouse sul progetto e scegliere Aggiungi riferimento, passare alla scheda Windows, quindi alla sottoscheda Estensioni, selezionare l'SDK di estensione ed esaminare il riquadro di destra in Gestione riferimenti.Se sono presenti dipendenze, verranno elencate nel riquadro in questione.

    Nota importanteImportante

    Se il progetto è destinato a Windows 8.1 e l'SDK di estensione installato nel passaggio precedente dipende dal pacchetto runtime di Microsoft Visual C++, la versione del pacchetto runtime di Microsoft Visual C++ compatibile con Windows 8.1 è v12.0 ed è installata con Visual Studio 2013.

  3. Se nell'SDK di estensione installato nel passaggio precedente sono disponibili dipendenze dagli altri SDK di estensione, accedere ai siti dei fornitori che possiedono le dipendenze e installare le versioni di queste dipendenze che sono compatibili con la versione della piattaforma a cui è destinato il progetto.

  4. Riavviare Visual Studio e aprire l'applicazione.

  5. Fare clic con il pulsante destro del mouse sul progetto che ha causato l'errore e scegliere Aggiungi riferimento (in caso di progetti Visual Basic, C# o JavaScript) oppure Riferimenti (in caso di progetti C++).Per i progetti C++, fare clic sul pulsante Aggiungi nuovo riferimento.

  6. Fare clic sulla scheda Windows, quindi sulla sottoscheda Estensioni,deselezionare le caselle di controllo per i vecchi SDK di estensione e selezionare le caselle di controllo per i nuovi SDK di estensione.Fare clic su OK.

Aggiunta di un riferimento in fase di progettazione

Per aggiungere uno o più riferimenti in fase di progettazione, utilizzare la finestra di dialogo Strumento di gestione dei riferimenti o Aggiungi riferimento, a seconda del tipo di progetto che si sta compilando.Si utilizza la finestra di dialogo gestione riferimenti per tutte le applicazioni Windows Store e la maggior parte degli altri tipi di progetti.Per ulteriori informazioni, vedere Procedura: aggiungere o rimuovere riferimenti mediante Gestione riferimenti.Altri tipi di progetto supportano la finestra di dialogo Aggiungi riferimento.Per ulteriori informazioni, vedere Procedura: aggiungere o rimuovere riferimenti utilizzando la finestra di dialogo Aggiungi riferimento.

È possibile utilizzare la finestra di dialogo Aggiungi riferimento per individuare gli assembly che non sono 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 utilizzando la finestra di dialogo Aggiungi riferimento.

[!NOTA]

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

Tutti i progetti in Visual Studio 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 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]

Viene creato un riferimento al file anziché un riferimento al progetto se la versione di destinazione di .NET Framework di un progetto è 4.5 e la versione di destinazione dell'altro progetto è 2, 3, 3.5 o 4.0.

Riferimenti Web

È anche possibile aggiungere riferimenti Web tramite la finestra di dialogo Aggiungi riferimento Web.Per ulteriori informazioni, vedere How to: Add and Remove Web References.

Vedere anche

Attività

Risoluzione dei problemi relativi ai riferimenti interrotti

Procedura: aggiungere o rimuovere riferimenti utilizzando la finestra di dialogo Aggiungi riferimento

Concetti

Procedura: aggiungere o rimuovere riferimenti mediante Gestione riferimenti

Altre risorse

Referencing Namespaces and Components

Managing References

Programmazione con gli assembly