Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar el cuadro de diálogo Administrador de referencias para agregar y administrar referencias a componentes desarrollados por usted, Microsoft u otra empresa. Si va a desarrollar una aplicación universal de Windows, el proyecto hace referencia automáticamente a todos los archivos DLL de Windows SDK correctos. Al crear un proyecto de .NET, el proyecto hace referencia automáticamente a los componentes que necesita, como el SDK de .NET, pero debe agregar referencias a medida que agrega funcionalidad. Algunas API de .NET se exponen en componentes que tiene que agregar manualmente. Es necesario agregar manualmente referencias a componentes COM o componentes personalizados.
Si hay un paquete NuGet disponible para la biblioteca a la que hace referencia, use el Administrador de paquetes NuGet. Consulte Instalación y uso de un paquete NuGet.
Cuadro de diálogo Administrador de referencias
El cuadro de diálogo Administrador de referencias muestra diferentes categorías en el lado izquierdo, en función del tipo de proyecto:
Ensamblados, con subgrupos framework y extensiones (solo .NET Framework)
COM enumera todos los componentes COM disponibles para hacer referencia
Windows, con subgrupos Core y Extensions . Puede explorar las referencias en los SDK de Windows o los SDK de extensión mediante el Explorador de objetos.
Examinar, con subgrupo reciente
Nota:
Es posible que no vea Examinar en el cuadro de diálogo Administrador de referencias si está desarrollando proyectos de C++.
Agregar una referencia
En el Explorador de soluciones, haga clic con el botón derecho en el nodo Referencias o dependencias y, a continuación, elija Agregar referencia de proyecto, Agregar referencia de proyecto compartida o Agregar referencia COM en el menú contextual. (También puede hacer clic con el botón derecho en el nodo del proyecto y seleccionar Agregar en el menú flotante para elegir entre estas opciones).
El Administrador de referencias abre y muestra las referencias disponibles por grupo.
Seleccione una referencia para agregar y, a continuación, seleccione Aceptar.
Nota:
Si no ve la referencia que busca, seleccione Examinar para buscar la referencia. Al desarrollar proyectos de C++, es posible que no vea la opción de exploración.
Pestaña de Ensamblados (exclusivamente .NET Framework)
Nota:
La pestaña Ensamblados no está disponible para proyectos que tienen como destino .NET Core o .NET 5 y versiones posteriores. Seleccione Examinar para buscar un ensamblado en el sistema de archivos y agregarlo como referencia. Para ver los ensamblados a los que se hace referencia en un proyecto, expanda el nodo Dependencias del proyecto. En el nodo Dependencias , puede hacer clic con el botón derecho para agregar o quitar referencias de proyecto, ver o quitar ensamblados en el nodo Ensamblados , o abrir el explorador de paquetes NuGet para administrar paquetes NuGet. Consulte Instalación y administración de paquetes en Visual Studio mediante el Administrador de paquetes NuGet en la documentación de NuGet.
Para los proyectos de .NET Framework, la pestaña Ensamblados enumera todos los ensamblados de .NET que están disponibles para hacer referencia. La pestaña Ensamblados no muestra ningún ensamblado de la caché global de ensamblados (GAC) porque los ensamblados de la GAC forman parte del entorno en tiempo de ejecución. Si implementa o copia una aplicación que contiene una referencia a un ensamblado registrado en la GAC, el ensamblado no se implementa ni copia con la aplicación, independientemente de la configuración Copiar local . Para obtener más información, vea Administrar referencias en un proyecto.
Al agregar manualmente una referencia a cualquiera de los espacios de nombres EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a, o EnvDTE100), configura la propiedad Incrustar tipos de interoperabilidad de la referencia a False en la ventana Propiedades. Establecer esta propiedad en True puede provocar problemas de compilación debido a determinadas propiedades de EnvDTE que no se pueden incrustar.
Todos los proyectos de escritorio contienen una referencia implícita a mscorlib. Los proyectos de Visual Basic contienen una referencia implícita a Microsoft.VisualBasic. Todos los proyectos contienen una referencia implícita a System.Core, incluso si se quita de la lista de referencias.
La pestaña Ensamblados consta de dos subtabs:
Framework enumera todos los ensamblados que constituyen el framework objetivo.
En el caso de los proyectos que no tienen como destino .NET Core o la Plataforma universal de Windows, la pestaña Framework enumera los ensamblados del marco de destino. El usuario debe agregar todas las referencias que requiera la aplicación.
Los proyectos universales de Windows contienen referencias a todos los ensamblados del marco de destino de forma predeterminada. En los proyectos administrados, un nodo de solo lectura en la carpeta Referencias del Explorador de soluciones indica la referencia a todo el marco de trabajo. En consecuencia, la pestaña Framework no enumera ninguno de los ensamblados del marco y, en su lugar, muestra el siguiente mensaje: "Ya se hace referencia a todos los ensamblados del marco. Use el Examinador de objetos para explorar las referencias en el marco".
Extensiones enumera todos los ensamblados que los proveedores externos de componentes y controles han desarrollado para ampliar el framework de destino. En función del propósito de la aplicación de usuario, es posible que necesite estos ensamblados.
Las extensiones se rellenan enumerando los ensamblados registrados en las siguientes ubicaciones:
Máquina de 32 bits:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk ___location of assemblies]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk ___location of assemblies]
Máquina de 64 bits:
HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk ___location of assemblies]
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk ___location of assemblies]
Y versiones anteriores de [Identificador de marco de destino]
Por ejemplo, si un proyecto tiene como destino .NET Framework 4 en una máquina de 32 bits, Extensiones enumera los ensamblados registrados en \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx y \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.
Es posible que algunos componentes de la lista no se muestren, en función de la versión del marco del proyecto. Esta situación puede producirse en las condiciones siguientes:
Un componente que usa una versión de marco reciente no es compatible con un proyecto destinado a una versión anterior.
Para obtener información sobre cómo cambiar la versión de la versión de destino del marco de trabajo de un proyecto, consulte Visión general sobre la orientación del marco.
Un componente que usa una versión anterior de .NET Framework no es compatible con un proyecto destinado a una versión más reciente de .NET Framework.
Para obtener más información sobre la compatibilidad de versiones entre versiones de .NET Framework, consulte Compatibilidad de versiones.
Debe evitar agregar referencias de archivo a las salidas de otro proyecto en la misma solución, ya que hacerlo podría provocar errores de compilación. En su lugar, use la pestaña Proyectos del cuadro de diálogo Agregar referencia para crear referencias de proyecto a proyecto. Esta práctica facilita el desarrollo en equipo al habilitar una mejor administración de las bibliotecas de clases que cree en los proyectos. Para obtener más información, consulte Solución de problemas de referencias interrumpidas.
Nota:
Se crea una referencia de archivo en lugar de una referencia de proyecto si la versión de la plataforma de destino de un proyecto es .NET Framework 4.5 o posterior y la versión de destino del otro proyecto es .NET Framework 2, 3, 3.5 o 4.0. Para obtener más información sobre .NET, .NET Framework y .NET Core, consulte ¿Qué es .NET (y .NET Core)?
Para mostrar un ensamblado en el cuadro de diálogo Agregar referencia
Mueva o copie el ensamblado en una de las siguientes ubicaciones:
Directorio del proyecto actual. (Puede encontrar estos ensamblados mediante la pestaña Examinar ).
Otros directorios de proyecto de la misma solución. (Puede encontrar estos ensamblados mediante la pestaña Proyectos ).
- o -
Establezca una clave del Registro que especifique la ubicación de los ensamblados que se van a mostrar:
Para un sistema operativo de 32 bits, agregue una de las siguientes claves del Registro.
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
Para un sistema operativo de 64 bits, agregue una de las siguientes claves del Registro en un subárbol del Registro de 32 bits.
[HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
<VersionMinimum> es la versión de marco más baja que se aplica. Si <VersionMinimum> es v3.0, las carpetas especificadas en AssemblyFoldersEx se aplican a los proyectos que tienen como destino .NET Framework 3.0 y versiones posteriores.
<AssemblyLocation> es el directorio de los ensamblados que desea que aparezcan en el cuadro de diálogo Agregar referencia , por ejemplo, C:\MyAssemblies.
Crear la clave del Registro bajo el nodo
HKEY_LOCAL_MACHINE
permite a todos los usuarios ver los ensamblados en la ubicación especificada en el cuadro de diálogo Agregar referencia. La creación de la clave del Registro en elHKEY_CURRENT_USER
nodo afecta solo a la configuración del usuario actual.Vuelva a abrir el cuadro de diálogo Agregar referencia . Los ensamblados deben aparecer en la pestaña .NET . Si no lo hacen, asegúrese de que los ensamblados se encuentran en el directorio AssemblyLocation especificado, reinicie Visual Studio e inténtelo de nuevo.
Pestaña Proyectos
En la pestaña Proyectos se enumeran todos los proyectos compatibles dentro de la solución actual, en la subtab Solución .
Un proyecto puede hacer referencia a otro proyecto que tenga como destino una versión de marco diferente. Por ejemplo, podría crear un proyecto destinado a .NET 8.0, pero que haga referencia a un ensamblado compilado para .NET 6.0. Sin embargo, el proyecto de .NET 6.0 no puede hacer referencia a un proyecto de .NET Framework 8.0. Para obtener más información, consulte Framework targeting overview.
Pestaña Proyectos compartidos
Agregue una referencia a un proyecto compartido en la pestaña Proyectos compartidos del cuadro de diálogo Administrador de referencias. Los proyectos compartidos permiten escribir código común al que hacen referencia muchos proyectos de aplicación diferentes.
Pestaña Universal de Windows
En la pestaña Universal Windows se enumeran todos los SDK específicos de las plataformas en las que se ejecutan los sistemas operativos Windows. Esta pestaña tiene dos subgrupos: Core y Extensions.
Subgrupo principal
Los proyectos de aplicaciones universales de Windows tienen una referencia al SDK universal de Windows de forma predeterminada. En consecuencia, el subgrupo Core del Administrador de referencias no enumera ninguno de los ensamblados del SDK universal de Windows.
Subgrupo de extensiones
Extensiones enumera los SDK de usuario que amplían la plataforma de Windows de destino.
Un SDK es una colección de archivos que Visual Studio trata como un único componente. En la pestaña Extensiones , los SDK que se aplican al proyecto desde el que se invocó el cuadro de diálogo Administrador de referencias se muestran como entradas únicas. Cuando se agrega a un proyecto, Visual Studio consume todo el contenido del SDK de forma que el usuario no necesite realizar ninguna acción adicional para aprovechar el contenido del SDK en IntelliSense, cuadro de herramientas, diseñadores, Examinador de objetos, compilación, implementación, depuración y empaquetado.
Para obtener información sobre cómo mostrar el SDK en la pestaña Extensiones , consulte Crear un kit de desarrollo de software.
Nota:
Si un proyecto hace referencia a un SDK que depende de otro SDK, Visual Studio no consume el segundo SDK a menos que agregue manualmente una referencia al segundo SDK. Al elegir un SDK en la pestaña Extensiones , el cuadro de diálogo Administrador de referencias le ayuda a identificar las dependencias del SDK enumerando las dependencias del panel de detalles.
Si un tipo de proyecto no admite extensiones, esta pestaña no aparece en el cuadro de diálogo Administrador de referencias.
Pestaña COM
En la pestaña COM se enumeran todos los componentes COM disponibles para hacer referencia. Si desea agregar una referencia a un archivo DLL COM registrado que contiene un manifiesto interno, anule el registro primero del archivo DLL. De lo contrario, Visual Studio agrega la referencia de ensamblado como un control ActiveX en lugar de como un archivo DLL nativo.
Si un tipo de proyecto no admite COM, la pestaña no aparece en el cuadro de diálogo Administrador de referencias.
Navegar
Puede usar el botón Examinar para buscar un componente o ensamblado en el sistema de archivos.
Un proyecto puede hacer referencia a un componente que tiene como destino una versión de marco diferente. Por ejemplo, podría crear una aplicación destinada a .NET Framework 4.7.2, pero que haga referencia a un componente destinado a .NET Framework 4. Para obtener más información, consulte Framework targeting overview.
Evite agregar referencias de archivo a las salidas de otro proyecto en la misma solución, ya que esta táctica podría provocar errores de compilación. En su lugar, use la pestaña Solución del cuadro de diálogo Administrador de referencias para crear referencias de proyecto a proyecto. Esto facilita el desarrollo en equipo al habilitar una mejor administración de las bibliotecas de clases que se crean en los proyectos. Para obtener más información, consulte Solución de problemas de referencias interrumpidas.
No puede ir a un SDK y agregarlo al proyecto. Solo puede examinar un archivo (por ejemplo, un ensamblado o .winmd) y agregarlo al proyecto.
Al hacer una referencia de archivo a winMD, el diseño esperado es que los <archivos FileName.winmd>, <FileName>.dlly <FileName.pri> se colocan entre sí. Si hace referencia a un WinMD en los escenarios siguientes, se copia un conjunto incompleto de archivos en el directorio de salida del proyecto y, por lo tanto, se producen errores de compilación y tiempo de ejecución.
Componente nativo: un proyecto nativo crea un WinMD para cada conjunto separado de espacios de nombres y un archivo DLL que contiene la implementación. Los WinMD tienen nombres dispares. Al referirse a este archivo de componente nativo, MSBuild no reconoce que los WinMD con nombres diferentes forman un solo componente. Por lo tanto, solo se copian los nombres idénticos <FileName>.dll y <FileName.winmd> y se producen errores en tiempo de ejecución. Para solucionar este problema, cree un SDK de extensión. Para obtener más información, vea Crear un kit de desarrollo de software.
Consumo de controles: como mínimo, un control XAML consta de un <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xaml, y un <ImageName>.jpg. Cuando se compila el proyecto, los archivos de recursos asociados a la referencia de archivo no se copian en el directorio de salida del proyecto y solo <se copian FileName.winmd, FileName><.dlly FileName.pri.><> Se registra un error de compilación que indica que faltan los recursos <XamlName.xaml> e <ImageName>.jpg. Para tener éxito, copie manualmente estos archivos de recursos en el directorio de salida del proyecto para la compilación, depuración y ejecución. Para solucionar este problema, cree un SDK de extensión siguiendo los pasos descritos en Creación de un kit de desarrollo de software o edite el archivo de proyecto para agregar la siguiente propiedad:
<PropertyGroup> <GenerateLibraryOutput>True</GenerateLibraryOutput> </PropertyGroup>
Nota:
Si agrega la propiedad, el proceso de construcción podría ejecutarse más lentamente.
Reciente
Los ensamblados, COM, Windows y Browse admiten una pestaña Reciente , que enumera la lista de componentes que se agregaron recientemente a los proyectos.
Búsqueda
La barra de búsqueda del cuadro de diálogo Administrador de referencias funciona sobre la pestaña que está en el foco. Por ejemplo, si escribe "Sistema" en la barra de búsqueda mientras la pestaña Solución está en el foco, la búsqueda no devuelve ningún resultado a menos que la solución conste de un nombre de proyecto que contenga "System".
Quitar una referencia
Puede quitar referencias sin usar para proyectos de estilo SDK en Visual Studio mediante el elemento de menú Quitar referencias sin usar.
Para obtener más información, vea Quitar referencias no usadas.