Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce informazioni su come aggiungere riferimenti a un progetto Visual C++ gestito.
Versione originale del prodotto: Visual C++
Numero KB originale: 310674
Riepilogo
Questo articolo descrive il processo di aggiunta di un riferimento a un altro assembly in un progetto Visual C++. In altri linguaggi, ad esempio Visual C#, è possibile aggiungere un riferimento tramite la finestra di dialogo Aggiungi riferimento . Questa finestra di dialogo non è disponibile per le applicazioni C++ gestite. Esistono diversi suggerimenti che semplificano l'uso dei riferimenti in un'applicazione C++ gestita.
Riferimenti a Microsoft .NET
I riferimenti .NET puntano agli assembly condivisi. Ad esempio, l'assembly System.Windows.Forms.dll è un assembly standard per l'accesso alle classi Windows Form. Per usare questo assembly in un'applicazione C++ gestita, è sufficiente farvi riferimento con una #using
direttiva del preprocessore, come illustrato di seguito:
#using <System.Windows.Forms.dll>
Riferimenti COM
L'uso di un oggetto COM (Component Object Model) in un'applicazione C++ gestita comporta una decisione di progettazione. Un'opzione consiste nell'usare codice COM non gestito all'interno di una classe gestita. Ad esempio, è possibile decidere di usare la soluzione tradizionale #import
. Questa può essere un'opzione valida per i casi in cui si verificano problemi con l'interoperabilità COM.
La seconda opzione consiste nell'usare assembly di interoperabilità che escludono l'oggetto COM. Questo è l'unico metodo disponibile per altri linguaggi, ad esempio C#, e Visual Basic .NET. Per creare un assembly di interoperabilità per un oggetto COM, utilizzare lo strumento TLBIMP.exe. Ad esempio, usare la procedura seguente per automatizzare Internet Explorer da un'applicazione gestita:
Aprire un prompt dei comandi.
Passare alla cartella Sistema Windows.
Digitare il comando seguente:
tlbimp shdocvw.dll /out:Interop.shdocvw.dll
Spostare Interop.shdocvw.dll nella cartella del progetto.
In questo modo viene creato un assembly di interoperabilità per gli oggetti COM in Shdocvw.dll. Il file risultante, Interop.shdocvw.dll, può essere usato con una #using
direttiva . Può quindi essere considerato come un componente gestito. Per istruzioni sulla copia automatica di questa libreria di collegamento dinamico (DLL) nella cartella di output, vedere la sezione Uso di eventi di post-compilazione di questo articolo.
Note
Le variabili di ambiente per Visual C++ devono essere impostate affinché TLBIMP.exe essere riconosciute. Se non sono impostati, sarà prima necessario eseguire ./VC7/BIN/VCVARS32.bat
in Visual Studio .NET o ./VC/BIN/VCVARS32.bat
in Visual Studio e Visual C++ Express Edition.
Riferimenti al progetto
I riferimenti al progetto sono riferimenti agli assembly creati da altri progetti. Anche in questo caso, la #using
direttiva viene usata per fare riferimento a questi assembly. Tuttavia, poiché questi assembly non sono condivisi, è necessario adottare misure per assicurarsi che il compilatore possa trovarli. Esistono due metodi per eseguire questa operazione:
- Copiare l'assembly nella cartella del progetto.
- Modificare le impostazioni del progetto per cercare l'assembly:
Aprire la finestra di dialogo Pagine delle proprietà del progetto.
Fare clic sulla cartella C/C++ .
Note
In Visual C++ espandere Proprietà di configurazione e quindi C /C++.
Fare clic sulla pagina delle proprietà Generale.
Modificare la proprietà Resolve #using References in modo che punti alla cartella che contiene l'assembly di destinazione.
Uso di eventi post-compilazione
Gli assembly privati devono trovarsi nella stessa cartella dell'eseguibile che li usa. Quando si aggiunge un riferimento in Visual C#, in Visual Basic .NET o in Visual Basic, viene copiato automaticamente nella cartella di output. In un'applicazione C++ gestita, questo passaggio può essere automatizzato tramite l'uso di post-build
eventi. Si consideri, ad esempio, uno scenario in cui si dispone di un assembly denominato MYLIB.dll nella cartella del progetto dell'applicazione C++ gestita denominata TestApp. La procedura seguente configura un post-build
evento che copia la DLL nella cartella di output del progetto TestApp .
Aprire la finestra di dialogo Pagine delle proprietà del progetto C++ gestito.
Fare clic sulla cartella Eventi di compilazione.
Note
In Visual C++ espandere Proprietà di configurazione e quindi eventi di compilazione.
Fare clic sulla pagina delle proprietà Evento post-compilazione.
Modificare la proprietà Riga di comando nel comando seguente:
copy $(<ProjectDir>)mylib.dll $(<TargetDir>)
Uso di Visual C++ .NET o Visual C++
Usando Visual C++ .NET o Visual C++, è possibile aggiungere un riferimento tramite la finestra di dialogo Aggiungi riferimento . Per aggiungere un riferimento al progetto, seguire questa procedura:
In Esplora soluzioni selezionare il progetto .
Scegliere Aggiungi riferimenti dal menu Progetto.
Note
In Visual C++ fare clic su Riferimenti dal menu Progetto e quindi fare clic su Aggiungi nuovo riferimento.
Nella finestra di dialogo Aggiungi riferimenti fare clic sulla scheda corrispondente alla categoria a cui si desidera aggiungere un riferimento.
Note
In Visual C++, fare clic sulla scheda Sfoglia nella finestra di dialogo Aggiungi riferimenti .
Fare clic su Sfoglia, individuare il componente desiderato nell'unità locale e quindi fare clic su OK. Il componente viene aggiunto al campo Componenti selezionati.
Note
In Visual C++ individuare il componente desiderato nell'unità locale.
Per aggiungere il riferimento selezionato alla scheda corrente, fare clic su Aggiungi.
Note
In Visual C++, fare clic su OK per chiudere la finestra di dialogo e aggiungere il componente nella casella di riepilogo Riferimenti della finestra di dialogo Pagina proprietà del progetto.