/reference (Importar metadatos) (Opciones del compilador de C#)

Actualización: noviembre 2007

La opción /reference hace que el compilador importe información de tipos public (Referencia de C#) al archivo especificado del proyecto actual, permitiéndole así hacer referencia a los metadatos desde los archivos de ensamblado especificados.

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

Argumentos

  • filename
    Nombre de un archivo que contiene un manifiesto del ensamblado. Para importar más de un archivo, incluya una opción /reference independiente para cada archivo.

  • alias
    Un identificador de C# válido que representa al espacio de nombres raíz que contendrá todos los espacios de nombres del ensamblado.

Comentarios

Para importar más de un archivo, incluya una opción /reference para cada archivo.

Los archivos que importe deben contener un manifiesto, y el archivo de resultados debe haberse compilado con una opción /target (Especificar el formato del archivo de resultados) (Opciones del compilador de C#) que no sea /target:module (Crear un módulo para agregarlo a un ensamblado) (Opciones del compilador de C#).

/r es la forma abreviada de /reference.

Utilice /addmodule (Importar metadatos) (Opciones del compilador de C#) para importar metadatos de un archivo de resultados que no contenga un manifiesto de ensamblado.

Si hace referencia a un ensamblado (Ensamblado A) que, a su vez, hace referencia a otro ensamblado (Ensamblado B), también deberá hacer referencia al ensamblado B si:

  • Un tipo utilizado en el Ensamblado A hereda de un tipo o implementa una interfaz del Ensamblado B.

  • Se invoca un campo, una propiedad, un evento o un método que devuelve un tipo o tiene un tipo de parámetro de Ensamblado B.

Utilice /lib (Especificar ubicaciones de referencias de ensamblados) (Opciones del compilador de C#) para especificar el directorio en el que se encuentran una o varias de las referencias de ensamblados. El tema /lib trata también sobre los directorios donde el compilador busca ensamblados.

Para que el compilador reconozca un tipo en un ensamblado, y no en un módulo, debe obligársele a que resuelva el tipo, lo que se puede conseguir definiendo una instancia del tipo. Existen otras formas de que el compilador resuelva nombres de tipos en un ensamblado; por ejemplo, si hereda de un tipo de un ensamblado, el compilador reconocerá el nombre del tipo.

A veces, es necesario hacer referencia a dos versiones diferentes del mismo componente desde un solo ensamblado. Para ello, utilice la subopción de alias en el modificador /reference para que cada archivo distinga entre los dos archivos. Dicho alias se utilizará como calificador del nombre del componente y se resolverá como tal componente en uno de los archivos.

El archivo de respuesta csc.rsp, que hace referencia a los ensamblados utilizados comúnmente en .NET Framework, es el predeterminado. Utilice /noconfig (Omitir csc.rsp) (Opciones del compilador de C#) si no desea que el compilador utilice csc.rsp.

Para obtener más información, vea Agregar referencia (Cuadro de diálogo).

Ejemplo

En este ejemplo se muestra cómo utilizar la característica alias externo (Referencia de C#).

Compile el archivo de código fuente e importe los metadatos de grid.dll y grid20.dll,que se compilaron anteriormente. Los dos archivos DLL contienen versiones independientes del mismo componente y el usuario utiliza dos modificadores /reference con opciones de alias para compilar el archivo de código fuente. Las opciones tienen la apariencia siguiente:

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

Con ello se crean los alias externos "GridV1" y "GridV2" que podrá utilizar en su programa por medio de una instrucción extern:

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

Una vez hecho esto, puede hacer referencia al control de cuadrícula de grid.dll anteponiendo GridV1 al nombre de control, de la siguiente forma:

GridV1::Grid

Además, puede hacer referencia al control de cuadrícula de grid20.dll anteponiendo GridV2 al nombre de control, de la siguiente forma:

GridV2::Grid 

Vea también

Otros recursos

Opciones del compilador de C#

Propiedades del proyecto (Visual Studio)