Compartir a través de


Referencias del proyecto

Para poder escribir un código que trabaje con un componente externo, el proyecto debe contener en primer lugar una referencia al mismo. Puede hacer referencia a los siguientes tipos de componentes:

  • Bibliotecas de clases o ensamblados de .NET Framework

  • Componentes COM

  • Otros ensamblados o bibliotecas de clases de proyectos de la misma solución

  • Servicios Web XML

Para obtener más información acerca de las referencias de servicios Web XML, vea Referencias web en Visual Studio.

Agregar referencias en tiempo de diseño

Use el cuadro de diálogo Agregar referencia para agregar referencias a los componentes en tiempo de diseño.

Puede usar el cuadro de diálogo Agregar referencia para ir a ensamblados que no se muestren. No puede agregar referencias de Caché de ensamblados global (GAC), ya que forma parte estrictamente del entorno de tiempo de ejecución.

Cuando haga referencia a un ensamblado de un proyecto, Visual Studio buscará el ensamblado en las ubicaciones siguientes:

  • Directorio del proyecto actual. (Puede buscar estos ensamblados utilizando la ficha Examinar.)

  • Otros directorios del proyecto de la misma solución. (Puede buscar estos ensamblados en la ficha Proyectos.)

Para obtener más información acerca de cómo agregar referencias en tiempo de diseño, consulte Cómo: Agregar o quitar referencias en Visual Studio.

Nota

Todos los proyectos contienen una referencia implícita a mscorlib. Los proyectos de Visual Basic contienen una referencia implícita a Microsoft.VisualBasic.

En Visual Studio 2010, todos los proyectos contienen una referencia implícita a System.Core, aun cuando System.Core se quite de la lista de referencias.

Referencias a componentes compartidos en tiempo de ejecución

En tiempo de ejecución, los componentes deben estar en la ruta de acceso de resultados del proyecto o en Caché de ensamblados global (GAC). Si el proyecto contiene una referencia a un objeto que no se encuentra en ninguna de estas ubicaciones, deberá copiar la referencia a la ruta de acceso de resultados del proyecto cuando genere el proyecto La propiedad CopyLocal indica si es necesario realizar esta copia. Si el valor es True, la referencia se copiará en el directorio de proyecto al generar el proyecto. Si el valor es False, no se copia.

Si se implementa una aplicación que contenga una referencia a un componente personalizado registrado en la GAC, el componente no se implementará con la aplicación, independientemente de la configuración de CopyLocal. En versiones anteriores de Visual Studio, podía establecer la propiedad CopyLocal en una referencia para garantizar que el ensamblado se había implementado. Ahora, debe agregar manualmente el ensamblado a la carpeta \Bin. De esta forma se controla todo el código personalizado, reduciendo el riesgo de publicar código personalizado con el que no está familiarizado.

De forma predeterminada, la propiedad CopyLocal se establece en False si el ensamblado o el componente está en la caché global de ensamblados o es un componente de marco de trabajo. De lo contrario, el valor se establece en True. Las referencias entre proyectos siempre se establecen en True.

Hacer referencia a un proyecto o ensamblado destinado a otra versión de .NET Framework

Puede crear aplicaciones que hagan referencia a proyectos o ensamblados destinados a otra versión de .NET Framework. Por ejemplo, podría crear una aplicación destinada a .NET Framework 4 Client Profile que haga referencia a un ensamblado destinado a .NET Framework versión 2.0. Si crea un proyecto destinado a una versión anterior de .NET Framework, no puede establecer una referencia en ese proyecto a un proyecto o ensamblado destinado a .NET Framework 4 Client Profile o .NET Framework 4.

Para obtener más información, vea Elegir versión de destino o perfil de .NET Framework específico.

Referencias entre proyectos y referencias a archivos

Las referencias a archivos son referencias directas a ensamblados; se crean en la ficha Examinar del cuadro de diálogo Agregar referencia. Las referencias entre proyectos son referencias a proyectos que contienen ensamblados; se crean en la ficha Proyecto del cuadro de diálogo Agregar referencia.

La ventaja de una referencia entre proyectos es que crea una dependencia entre los proyectos del sistema de compilación. Por consiguiente, el proyecto dependiente se generará si ha cambiado desde la última vez que se generó el proyecto que hace referencia a él. Una referencia de archivo no crea una dependencia de compilación, por lo que es posible de generar el proyecto que hace referencia sin generar el proyecto dependiente, de manera que la referencia se puede quedar obsoleta. (Es decir, el proyecto podría hacer referencia a una versión del proyecto generada anteriormente.) Esto puede hacer que en el directorio bin se requieran varias versiones de un mismo archivo DLL, lo cual no es posible. Si se produce este conflicto, verá un mensaje como Advertencia: la dependencia 'archivo' del proyecto 'proyecto' no se puede copiar en el directorio de ejecución porque reemplazaría la referencia 'archivo'.

No se deben agregar referencias de archivos a resultados de otro proyecto de la misma solución, ya que puede provocar errores de compilación. En su lugar, use la ficha Proyectos del cuadro de diálogo Agregar referencia para crear referencias de proyecto a proyecto en la misma solución. Esto facilita el trabajo en equipo, permitiendo una mejor administración de las bibliotecas de clases creadas en los proyectos. Para obtener más información, vea Solucionar problemas de referencias rotas y Cómo: Crear y quitar dependencias del proyecto.

Nota

En Visual Studio 2010, se crea una referencia de archivo en lugar de una referencia de proyecto si la versión de destino de .NET Framework de un proyecto es la 4 y la versión de .NET Framework de destino del otro proyecto es 2, 3 ó 3.5.

Referencias web

También puede agregar referencias web en el cuadro de diálogo Agregar referencia Web. Para obtener más información, vea Cómo: Agregar y quitar referencias web.

Vea también

Tareas

Solucionar problemas de referencias rotas

Cómo: Agregar o quitar referencias en Visual Studio

Otros recursos

Hacer referencia a espacios de nombres y componentes

Administrar referencias

Programar con ensamblados