Share via


Cómo: Crear una nueva aplicación para Windows mediante extensibilidad

Para crear un nuevo proyecto y agregarlo a la solución actual, se utiliza el método AddFromTemplate del objeto DTE.Solution de extensibilidad general. Esta tarea asume que sabe cómo tener acceso al entorno integrado de desarrollo de macros (IDE) y cómo crear un proyecto de macros. Para obtener más información, vea Automating Repetitive Actions by Using Macros.

Mediante los siguientes pasos se crea un proyecto de Visual Basic. Para crear un proyecto de Visual C#, utilice la cadena "CSharp" en el paso 4.

NotaNota

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 han desarrollado con la Configuración de desarrollo general activa.Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas.Para obtener más información, vea Personalizar la configuración de desarrollo en Visual Studio.

Para agregar un nuevo proyecto a la solución

  1. Cree un nuevo módulo de macros y asígnele el nombre NewProject.

  2. Agregue una nueva macro NewWindowsProject al módulo.

    Sub NewWindowsProject()
       ' Add code here to create new project.
    End Sub
    

    Esta macro agrega una nueva aplicación para Windows en Visual Basic.

  3. Seleccione la plantilla que necesite para un proyecto de consola. Es posible crear varios tipos diferentes de proyectos, como se muestra en la tabla. Para una aplicación para Windows, utilice la plantilla WindowsApplication.zip.

    Nombre de plantilla

    Tipo de proyecto

    ClassLibrary.zip

    Biblioteca de clases

    ConsoleApplication.zip

    Aplicación de consola

    EmptyProject.zip

    Proyecto vacío

    WebApplication.zip

    Aplicación Web

    WebControl.zip

    Control Web

    WebService.zip

    Servicio Web de

    WindowsApplication.zip

    Aplicación para Windows

    WindowsControl.zip

    Control de Windows

    WindowsService.zip

    Servicio de Windows

    La sintaxis para utilizar una macro es GetProjectTemplate("WindowsApplication.zip", "VisualBasic"). También puede obtener acceso a plantillas específicas de aplicaciones, por ejemplo: GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp") devuelve la plantilla de una biblioteca de clases de Visual C# para un proyecto de Pocket PC 2003. Las plantillas de proyecto para todos los lenguajes se pueden encontrar en <drive>>\Archivos de programa\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates \ Language.

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

    Las plantillas personalizadas requieren nombres de archivo únicos que no entren en conflicto con los nombres de archivo definidos en:

    • <unidad>:\Archivos de programa\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\Idioma

    y

    • <unidad>:\Archivos de programa\Microsoft Visual Studio 10\Common7\IDE\ItemTemplates\Idioma.

    Asegúrese de utilizar nombres de archivo largos (en lugar del formato 8.3). Para obtener más información, vea Creating Project and Item Templates.

  4. Utilice el método GetProjectTemplate para buscar la plantilla de proyecto. La ruta de acceso de la plantilla depende del lenguaje; por tanto, para recuperar la plantilla de Visual Basic, utilice la cadena "Visual Basic", como se muestra a continuación. Para una plantilla de Visual C# use la cadena "CSharp".

            Dim vbTemplatePath As String
            Dim vbProjectPath As String
            vbProjectPath = "C:\UserFiles\MyFiles\MyProject"
            vbTemplatePath = soln.GetProjectTemplate( _
              "WindowsApplication.zip", "VisualBasic")
    
  5. Llame al método AddFromTemplate.

            ' Create a new solution.
            ' Make sure the filepath below exists
            ' on your computer.
            soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution")
            ' Create a new VB console project using the template
            ' obtained above.
            soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _
            "VB Console Project", False)
    

    A continuación se muestra la macro completa:

    Sub NewWindowsProject ()
            'This function creates a solution and adds a Visual Basic Console
            'project to it. 
            Dim soln As Solution2 = CType(DTE.Solution, Solution2)
            'Dim proj As Project
            Dim msg As String
            Dim vbTemplatePath As String
            Dim vbProjectPath As String
            vbProjectPath = "C:\UserFiles\MyFiles\MyProject"
            vbTemplatePath = soln.GetProjectTemplate _
           ("WindowsApplication.zip", "VisualBasic")
    
            ' Create a new solution.
            ' Make sure the filepath below exists
            ' on your computer.
            soln.Create("C:\UserFiles\MyFiles\MyProject", "MySolution")
            ' Create a new VB console project using the template
            ' obtained above.
            soln.AddFromTemplate(vbTemplatePath, vbProjectPath, _
            "VB Windows Project", False)
            msg = "Created new solution: " & soln.FullName & vbCrLf
            msg = msg & "Created new project: " & soln.Projects.Kind()
            MsgBox(msg)
        End Sub
    
  6. Guarde la macro, cierre el IDE de macros y ejecute la macro desde el Explorador de macros.

  7. Vea la nueva solución, "MySolution", y la aplicación para Windows, "VB Windows Project", en el Explorador de soluciones.

Vea también

Tareas

Cómo: Crear proyectos mediante programación

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

Otros recursos

Controlar la solución y sus proyectos

Migrating Code that Creates Projects by Using Templates

Creating Project and Item Templates