Cómo: Crear complementos de soluciones

Actualización: noviembre 2007

Cuando se crea un complemento con el Asistente para complementos, éste se asocia automáticamente al entorno de desarrollo integrado (IDE). Puede cargarse cuando se inicia el IDE, y continúa ejecutándose hasta que se descarga o se sale del IDE. También se puede asociar un complemento a una solución para que se convierta en un Complemento de solución. Un complemento de solución es útil cuando desea cargarlo sólo con una solución específica, debido a dependencias del sistema o para minimizar el uso innecesario de recursos del sistema. Cuando Visual Studio carga una solución, primero examina el archivo de solución (.sln) para ver si hace referencia a algún complemento. Si es así, carga el complemento y llama a los mismos métodos IDTExtensibility2 que un complemento estándar de Visual Studio.

El Asistente para complementos no proporciona en la actualidad ninguna forma que indique si un complemento es o no un complemento de solución. Sin embargo, con algunas modificaciones menores, un complemento se puede convertir en un complemento de solución. Mientras que un complemento típico almacena su información en el archivo XML .Addin (o, en el caso de un complemento COM no administrado, en el Registro), un complemento de solución almacena su información en el archivo .SLN de la solución.

Nota:

Es necesario registrar los complementos de soluciones a través del registro tradicional basado en COM. Dado que los complementos de Visual Studio 2005 utilizan el nuevo registro XML (archivo .AddIn), se debe establecer el complemento e incluirlo en el Registro de Windows. El siguiente procedimiento muestra cómo hacerlo:

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Estos procedimientos se desarrollaron con la Configuración de desarrollo general activa. Para cambiar la configuración, elija la opción Importar y exportarconfiguraciones del menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Crear un complemento de solución

El procedimiento siguiente describe cómo crear un complemento de solución.

Para crear un complemento de solución

  1. Cree un nuevo proyecto de complemento con el Asistente para complementos. Seleccione el lenguaje adecuado y acepte la configuración predeterminada.

  2. Haga clic con el botón secundario del mouse (ratón) en el proyecto y seleccione Propiedades.

  3. Haga clic en la ficha Generar y active la casilla Registrar para interoperabilidad COM.

    Esta opción permite que se haga referencia al complemento como un objeto COM, lo cual es necesario en el caso de los complementos de solución. Aunque el Asistente para complementos crea un archivo XML .AddIn, no es un archivo necesario para un complemento de solución y se puede eliminar.

  4. Puesto que el complemento de solución es un objeto COM, debe registrarlo con Windows. Para ello, inicie un símbolo del sistema de Visual Studio y escriba regasm /codebase SolutionAddinName.dll.

  5. Como no puede asociar un complemento a un archivo de solución a través del Registro, utilice código para hacerlo. Para registrar el complemento con el archivo de solución, utilice el método Add de la colección AddIns de la solución.

    AddIns devuelve una colección AddIns. Es similar a AddIns salvo que, en lugar de estar compuesto por todos los complementos de Visual Studio, se compone sólo de los complementos registrados con el archivo de solución específico. Por lo tanto, para registrar un complemento como un complemento de solución, utilice Solution.AddIns.Add.

    A continuación, se presenta un ejemplo en Visual Basic y Visual C#. (Estas líneas deben reemplazar la declaración de variable del complemento en el método OnConnection proporcionado por el Asistente para complementos).

    Dim addin As EnvDTE.AddIn = _
    _applicationObject.Solution2.AddIns.Add("MyAddin1.Connect", "MyAddinName", "My add-in description", True)
    
    EnvDTE.AddIn addin = 
    _applicationObject.Solution.AddIns.Add(MyAddin.Connect, 
    "MyAddinName", "My add-in description", true);
    

Vea también

Tareas

Cómo: Crear un complemento

Conceptos

Complementos de Visual Studio y complementos compartidos

Controlar proyectos y soluciones

Introducción al objeto VSProject2