/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