Compartir a través de


Cómo: Crear elementos de proyecto mediante programación

Actualización: noviembre 2007

Para crear elementos de proyecto mediante programación, llame primero a GetProjectItemTemplate y pase a continuación las rutas de acceso de las plantillas devueltas a AddFromTemplate. Para obtener más información, vea Plantillas de Visual Studio.

El método GetProjectItemTemplate devuelve la plantilla del archivo .zip adecuado para usarlo con el método AddFromTemplate. Las plantillas de proyecto para todos los lenguajes se pueden encontrar en <drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Language.

También puede crear sus propias plantillas de elemento de proyecto personalizadas. Para especificar el directorio en el que almacenará las plantillas, haga clic en Opciones en el menú Herramientas. En el panel izquierdo del cuadro de diálogo Opciones, haga clic en Proyectos y soluciones. Escriba la ruta de acceso para las plantillas en el cuadro Ubicación de plantillas de elemento de usuario de Visual Studio. También puede aceptar las ubicaciones predeterminadas.

Las plantillas de proyecto personalizadas requieren nombres de archivo únicos que no entren en conflicto con los nombres de archivo definidos en: <drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Language.

Asegúrese de utilizar nombres largos de archivo (en lugar de 8.3). Para obtener más información, vea Crear plantillas de proyectos y de elementos.

Para quitar proyectos de la solución, utilice Remove.

El ejemplo siguiente dirige la definición de método genérico para crear elementos de proyecto. Los temas mostrados en la sección Vea también indican cómo utilizar los modelos específicos de idioma.

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 la configuración activa o la edición. Estos procedimientos se han desarrollado con la Configuración de desarrollo general activa. Para cambiar la configuración, elija la opción Importar y Exportarconfiguraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Agregar elementos a proyectos

Para agregar elementos a un proyecto mediante programación

  1. Inicie Visual Studio y cree un nuevo proyecto de complemento de Visual Studio.

  2. Agregue el código siguiente a la clase Connect del complemento.

  3. Ejecute el proyecto de complemento y actívelo en el Administrador de complementos.

    Para ello, haga clic en Administrador de complementos en el menú Herramientas y, a continuación, active la casilla junto al complemento.

Ejemplo

El ejemplo siguiente muestra cómo agregar elementos mediante programación a un proyecto Visual Basic existente.

' Before running the following code, be sure that a Visual Basic 
' project is open in Visual Studio.
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    createProjectItem(_applicationObject)
End Sub

Sub createProjectItem(ByVal dte As DTE2)
    ' Adds a new Class to an existing Visual Basic project.
    Dim soln As Solution2
    Dim prj As Project
    soln = CType(_applicationObject.Solution, Solution2)
    Dim prjItem As ProjectItem
    Dim itemPath As String

    ' Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1)
    ' Retrieve the path to the Class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
    ' Create a new project item based on the template, in this case,
    ' a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic 
// project is open in Visual Studio.
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst, ref
 System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;

    // Pass the applicationObject member variable to the code example.
    createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
    //Adds a new Class to an existing Visual Basic project.
    Solution2 soln;
    Project prj;
    soln = (Solution2)_applicationObject.Solution;
    ProjectItem prjItem;
    String itemPath;
    // Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1);
    // Retrieve the path to the class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
    //Create a new project item based on the template, in this
    // case, a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}

Compilar el código

Para compilar este código, cree un nuevo proyecto de complemento de Visual Studio y reemplace el código de la clase Connect.cs o Connect.vb por el código del ejemplo. Antes de ejecutar el complemento, abra un proyecto Visual Basic en el IDE de Visual Studio. Para obtener información sobre cómo ejecutar un complemento, vea Cómo: Controlar complementos con el Administrador de complementos.

Programación eficaz

Al utilizar nombres de elementos de proyecto como parámetro para Solution.Projects.Item, debe utilizar el nombre único del proyecto. El nombre único es una ruta de acceso relativa desde el directorio que contiene el archivo de solución (.sln) hasta el archivo de proyecto.

Por ejemplo, considere la estructura de solución/proyecto siguiente:

SomeSolution.sln

     WinApp1

          WinApp1.VBProj

El nombre único para el proyecto sería "WinApp1/WinApp1 .VBProj" y la llamada al método Item sería Solution.Projects.Item("WinApp1/WinApp1.VBProj").

Vea también

Tareas

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización

Cómo: Crear proyectos mediante programación

Conceptos

Manipular proyectos de Visual Basic y Visual C#

Manipular proyectos de Visual C++

Introducción a las plantillas de Visual Studio

Otros recursos

Controlar la solución y sus proyectos