Condividi tramite


Procedura: creare una nuova applicazione Windows tramite Extensibility

La creazione e l'aggiunta di un nuovo progetto alla soluzione corrente vengono eseguite utilizzando il metodo AddFromTemplate dell'oggetto DTE.Solution di estensibilità generale.Per l'esecuzione di questa attività si presuppone che l'utente sia in grado di accedere all'ambiente di sviluppo integrato (IDE, Integrated Development Environment) delle macro e di creare un progetto macro.Per ulteriori informazioni, vedere Automating Repetitive Actions by Using Macros.

Nell'esempio riportato di seguito viene creato un progetto Visual Basic.Per creare un progetto Visual C#, utilizzare la stringa "CSharp" al passaggio 4.

[!NOTA]

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma.Queste procedure sono state sviluppate con le Impostazioni generali per lo sviluppo attive.Per modificare le impostazioni, scegliere Importa/esporta impostazioni dal menu Strumenti.Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per aggiungere un nuovo progetto alla soluzione

  1. Creare un nuovo modulo macro e denominarlo NewProject.

  2. Aggiungere una nuova macro, NewWindowsProject, al modulo.

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

    Questa macro consente di aggiungere una nuova applicazione Windows di Visual Basic.

  3. Selezionare il modello necessario per un progetto console.È possibile creare diversi tipi di progetto, come illustrato nella tabella riportata di seguito.Per un'applicazione Windows utilizzare il modello WindowsApplication.zip.

    Nome del modello

    Tipo di progetto

    ClassLibrary.zip

    Libreria di classi

    ConsoleApplication.zip

    Applicazione console

    EmptyProject.zip

    Progetto vuoto

    WebApplication.zip

    Applicazione Web

    WebControl.zip

    Controllo Web

    WebService.zip

    Servizio Web di

    WindowsApplication.zip

    Applicazione Windows

    WindowsControl.zip

    Controllo Windows

    WindowsService.zip

    Servizio Windows

    La sintassi corretta per l'utilizzo di un modello è GetProjectTemplate("WindowsApplication.zip", "VisualBasic").È anche possibile accedere a modelli specifici di applicazioni. GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp"), ad esempio, restituisce il modello per una libreria di classi Visual C# per un progetto Pocket PC 2003.Nella directory <unità>\Programmi\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\Linguaggio sono disponibili i modelli di progetto per tutti i linguaggi.

    È anche possibile creare modelli di progetto e di elementi di progetto personalizzati.Per specificare la directory in cui archiviare i modelli, scegliere Opzioni dal menu Strumenti.Nel riquadro sinistro della finestra di dialogo Opzioni scegliere Progetti e soluzioni.Digitare i percorsi dei modelli nelle caselle Percorso dei modelli di progetto utente di Visual Studio e Percorso dei modelli di elemento utente di Visual Studio.In alternativa, è possibile accettare i percorsi predefiniti.

    I modelli personalizzati necessitano di nomi file univoci che non siano in conflitto con i nomi file definiti in:

    • <unità>:\Programmi\Microsoft Visual Studio 10\Common7\IDE\ProjectTemplates\Linguaggio

    e

    • <unità>:\Programmi\Microsoft Visual Studio 10\Common7\IDE\ItemTemplates\Linguaggio.

    Assicurarsi di utilizzare nomi file lunghi, anziché nel formato 8.3.Per ulteriori informazioni, vedere Creating Project and Item Templates.

  4. Utilizzare il metodo GetProjectTemplate per individuare il modello di progetto.Il percorso del modello dipende dal linguaggio; pertanto, per recuperare il modello di Visual Basic utilizzare la stringa "Visual Basic", come illustrato di seguito.Per un modello di Visual C# utilizzare la stringa "CSharp".

            Dim vbTemplatePath As String
            Dim vbProjectPath As String
            vbProjectPath = "C:\UserFiles\MyFiles\MyProject"
            vbTemplatePath = soln.GetProjectTemplate( _
              "WindowsApplication.zip", "VisualBasic")
    
  5. Chiamare il metodo 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)
    

    Di seguito è riportata 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. Salvare la macro, chiudere l'IDE macro ed eseguirla da Esplora macro.

  7. Visualizzare la nuova soluzione, "MySolution", e l'applicazione Windows, "VB Windows Project", in Esplora soluzioni.

Vedere anche

Attività

Procedura: creare progetti a livello di codice

Procedura: creare elementi di progetto a livello di codice

Altre risorse

Controllo della soluzione e dei relativi progetti

Migrating Code that Creates Projects by Using Templates

Creating Project and Item Templates