/reference (opzioni del compilatore C#)

Con l'opzione /reference, il compilatore importa nel progetto corrente le informazioni sui tipi public 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 diversa da /target:module.

/r rappresenta la versione abbreviata di /reference.

Utilizzare /addmodule 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 trova uno o più assembly cui si fa riferimento, utilizzare /lib. 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. Utilizzare l'opzione del compilatore /noconfig se non si desidera che il compilatore utilizzi il file csc.rsp.

Nota

In Visual Studio, usare la finestra di dialogo Aggiungi riferimento. Per ulteriori informazioni, vedere Procedura: aggiungere o rimuovere riferimenti in Visual Studio. In Visual Studio 2010 e nelle versioni successive, verificare il comportamento equivalente tra l'aggiunta di riferimenti utilizzando /reference e utilizzando la finestra di dialogo Aggiungi riferimento, la proprietà Incorpora tipi di interoperabilità deve essere impostata su False per l'assembly che si stia aggiungendo. True è il valore predefinito per quella proprietà.

Esempio

Nel seguente esempio viene illustrato come utilizzare la funzionalità extern alias.

Il file di origine viene compilato e i metadati vengono importati 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 alias GridV1;
extern alias 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)