Condividi tramite


/reference (importazione di metadati) (opzioni del compilatore C#)

Aggiornamento: novembre 2007

Con l'opzione /reference, il compilatore importa nel progetto corrente le informazioni sui tipi public (Riferimenti per C#) disponibili nel file specificato e consente quindi di fare riferimento ai metadati dai file di assembly specificati.

/reference:[alias=]filename
/reference:filename

Argomenti

  • filename
    Il nome di un file contenente un manifesto dell'assembly. Per importare più file, specificare un'opzione /reference per ciascun file.

  • alias
    Un identificatore C# valido che rappresenta uno spazio dei nomi di primo livello contenente tutti gli spazi dei nomi dell'assembly.

Note

Per importare da più file, specificare un'opzione /reference per ciascun file.

È necessario che i file importati contengano un manifesto e che il file di output sia stato compilato specificando un'opzione /target (specifica del formato del file di output) (opzioni del compilatore C#) diversa da /target:module (creazione di un modulo da aggiungere all'assembly) (opzioni del compilatore C#).

/r rappresenta la forma abbreviata di /reference.

Utilizzare /addmodule (importazione di metadati) (opzioni del compilatore C#) per importare metadati da un file di output che non contiene un manifesto assembly.

Se si fa riferimento a un assembly (assembly A) che fa a sua volta riferimento a un secondo assembly (assembly B), sarà necessario fare riferimento all'assembly B nei seguenti casi:

  • Se un tipo dell'assembly A eredita da un tipo o implementa un'interfaccia dell'assembly B.

  • Se si richiama un campo, una proprietà, un evento o un metodo che presenta un tipo restituito o un tipo di parametro proveniente dall'assembly B.

Per specificare la directory in cui si trovano uno o più riferimenti agli assembly, utilizzare /lib (specifica del percorso dei riferimenti agli assembly) (opzioni del compilatore C#). Nella descrizione di /lib verranno indicate anche le directory in cui il compilatore ricerca gli assembly.

Perché il compilatore sia in grado di riconoscere un tipo in un assembly e non in un modulo, è necessario imporre la risoluzione del tipo stesso. A questo scopo, è possibile definire un'istanza del tipo. La risoluzione dei nomi dei tipi in un assembly può avvenire anche con altre modalità. Se, ad esempio, si eredita da un tipo in un assembly, il nome del tipo sarà riconosciuto dal compilatore.

In alcuni casi è necessario fare riferimento a due versioni diverse dello stesso componente da un unico assembly. A questo scopo, utilizzare l'opzione di secondo livello alias dell'opzione /reference per ciascun file, in modo che sia possibile distinguere tra le due versioni. Questo alias verrà utilizzato come qualificatore per il nome del componente, quindi risolto nel componente stesso in uno dei file.

Per impostazione predefinita, viene utilizzato il file di risposta csc (.rsp), che fa riferimento agli assembly .NET Framework di uso comune. Se non si desidera che il compilatore utilizzi il file csc.rsp, specificare /noconfig (elusione di csc.rsp) (opzioni del compilatore C#).

Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi riferimento.

Esempio

Nel seguente esempio viene illustrato come utilizzare la funzionalità extern alias (Riferimenti per C#).

Compilare il file di origine e importare i metadati dai file grid.dll e grid20.dll, compilati in precedenza. Nelle due DLL sono presenti versioni distinte dello stesso componente. Utilizzare due opzioni /reference con opzioni di secondo livello alias per compilare il file di origine. Le opzioni sono analoghe alle seguenti:

/reference:GridV1=grid.dll and /reference:GridV2=grid20.dll

In questo modo verranno impostati gli alias esterni "GridV1" e "GridV2", da utilizzare nel programma tramite un'istruzione extern:

extern GridV1;
extern GridV2;
// Using statements go here.

Una volta completate queste operazioni, è possibile fare riferimento al controllo griglia dal file grid.dll aggiungendo il prefisso GridV1 al nome del controllo, come riportato di seguito:

GridV1::Grid

È inoltre possibile fare riferimento al controllo griglia dal file grid20.dll aggiungendo il prefisso GridV2 al nome del controllo, come riportato di seguito:

GridV2::Grid 

Vedere anche

Altre risorse

Opzioni del compilatore C#

Proprietà del progetto (Visual Studio)