Cómo agregar referencias a un proyecto de Visual C++ administrado

Resumen

En este artículo se describe el proceso de agregar una referencia a otro ensamblado en un proyecto de Visual C++. En otros lenguajes, como Visual C#, puede agregar una referencia a través del cuadro de diálogo Agregar referencia . Este cuadro de diálogo no está disponible para aplicaciones de C++ administrado. Hay varias sugerencias que simplifican el uso de referencias en una aplicación de C++ administrado más fácil.

Volver al principio

Referencias.

Referencias .NET señalan a ensamblados compartidos. Por ejemplo, el ensamblado System.Windows.Forms.dll es un ensamblado estándar para tener acceso a las clases de formularios Windows Forms. Para poder utilizar este ensamblado en una aplicación de C++ administrado, basta con hacer referencia al mismo con un #using directiva de preprocesador, como se muestra aquí:
#using <System.Windows.Forms.dll>

Volver al principio

Referencias COM

Uso de un objeto COM en una aplicación de C++ administrado implica una decisión de diseño. Una opción es utilizar código COM no administrado dentro de una clase administrada. Por ejemplo, podría decidir utilizar la solución #import tradicional. Esto puede ser una buena opción para los casos donde hay problemas al utilizar COM Interop.


La segunda opción es utilizar ensamblados de interoperabilidad que ajusta el objeto COM. Éste es el único método disponible en otros lenguajes como C#, Visual Basic 2005 y Visual Basic .NET. Para crear un ensamblado de interoperabilidad para un objeto COM, utilice la herramienta TLBIMP.exe (consulte "Referencias"). Por ejemplo, utilice los pasos siguientes para automatizar Microsoft Internet Explorer desde una aplicación administrada:
  1. Abra un símbolo del sistema.
  2. Desplácese a la carpeta del sistema de Windows.
  3. Escriba el siguiente comando:
    Tlbimp shdocvw.dll /out:Interop.shdocvw.dll
  4. Mueva Interop.shdocvw.dll a la carpeta del proyecto.
Esto crea un ensamblado de interoperabilidad para los objetos COM en Shdocvw.dll. El archivo resultante, Interop.shdocvw.dll, puede utilizarse con un # directiva using. Se puede tratar como un componente administrado. Para obtener instrucciones acerca de cómo copiar automáticamente esta biblioteca de vínculos dinámicos (DLL) a la carpeta de salida, consulte la sección "Utilizar eventos de generación posterior" de este artículo.

Nota: Las variables de entorno para Visual C++ deben establecerse en orden de TLBIMP.exe para que lo reconozca. Si no se establecen, primero debe ejecutar./VC7/BIN/VCVARS32.bat en Visual Studio .NET o./VC/BIN/VCVARS32.bat en Visual Studio 2005 y Visual C++ 2005 Express Edition.

Volver al principio

Referencias del proyecto

Son referencias a ensamblados creados por otros proyectos. De nuevo, el # directiva using se utiliza para hacer referencia a estos ensamblados. Sin embargo, dado que estos ensamblados no están compartidos, debe tomar medidas para garantizar que el compilador puede encontrarlos. Existen dos métodos para hacerlo:
  • Copie el ensamblado en la carpeta del proyecto. - o -

  • Cambiar la configuración del proyecto para que busque el ensamblado:
    1. Abra el cuadro de diálogo Páginas de propiedades del proyecto.
    2. Haga clic en la carpeta de C o C++ .

      Nota: En Visual C++ 2005, expanda Propiedades de configuracióny, a continuación, expanda C o C++.
    3. Haga clic en la página de propiedades General .
    4. Modificar el resolver #using referencias propiedad para señalar a la carpeta que contiene el ensamblado de destino.
Volver al principio

Utilizar eventos posteriores a la generación

Ensamblados privados deben residir en la misma carpeta que el ejecutable que los utiliza. Cuando agrega una referencia en Visual C#, en Visual Basic .NET o en Visual Basic 2005, se copia automáticamente a la carpeta de salida. En una aplicación de C++ administrado, este paso puede automatizarse mediante el uso de eventos posteriores a la compilación. Por ejemplo, considere un escenario en el que tiene un ensamblado llamado "MYLIB.dll" en la carpeta de proyecto de la aplicación de C++ administrado llamada "TestApp". Los pasos siguientes configurará un evento posterior a la generación que copiará esta DLL a la carpeta de resultados del proyecto TestApp.
  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto de C++ administrado.
  2. Haga clic en la carpeta Eventos de generación .

    Nota: En Visual C++ 2005, expanda Propiedades de configuracióny, a continuación, expanda Eventos de generación.
  3. Haga clic en la página de propiedades Evento de generación posterior .
  4. Modifique la propiedad línea de comandos para el comando siguiente:
    Copiar $(< ProjectDir >) mylib.dll $(< TargetDir >)
Volver al principio

En Visual C++ .NET 2003 o Visual C++ 2005

Mediante Visual C++ .NET 2003 o Visual C++ 2005, puede agregar una referencia mediante el cuadro de diálogo Agregar referencia . Para agregar una referencia de proyecto, siga estos pasos:
  1. En el Explorador de soluciones, seleccione el proyecto.
  2. En el menú proyecto , haga clic en Agregar referencia.

    Nota: En Visual C++ 2005, haga clic en referencias en el menú proyecto y, a continuación, haga clic en Agregar nueva referencia.
  3. En el cuadro de diálogo Agregar referencias , haga clic en la ficha que se corresponde con la categoría que desea agregar una referencia a.

    Nota: En Visual C++ 2005, haga clic en la ficha Buscar en el cuadro de diálogo Agregar referencias .
  4. Haga clic en Examinar, busque el componente que desee en la unidad local y, a continuación, haga clic en Aceptar. El componente se agrega al campo componentes seleccionados.

    Nota: En Visual C++ 2005, busque el componente que desee en la unidad local.
  5. Para agregar la referencia seleccionada en la ficha actual, haga clic en
    Agregar.

    Nota: En Visual C++ 2005, haga clic en Aceptar para cerrar el cuadro de diálogo y agregue el componente en el cuadro de lista de referencias en el cuadro de diálogo Página de propiedades del proyecto.
Volver al principio

Referencias

Para obtener más información acerca de la herramienta type library importer y Visual C++. NET, visite los siguientes sitios Web de Microsoft:
Centro de soporte técnico de Visual C++ .NET (2002)http://support.microsoft.com/default.aspx?xmlid=fh%3BEN-US%3Bvcnet
Volver al principio
Propiedades

Id. de artículo: 310674 - Última revisión: 22 ene. 2017 - Revisión: 2

Comentarios