Condividi tramite


Procedura: creare progetti a livello di codice

Per creare un progetto, chiamare GetProjectTemplate, quindi passare i percorsi dei modelli restituiti a AddFromTemplate.

I modelli di progetto hanno estensione di file vstemplate e vengono archiviati in file con estensione zip. Per ottenere il percorso del file con estensione vstemplate, incluso nel file con estensione zip, utilizzare GetProjectTemplate e passarlo quindi a AddFromTemplate per creare il progetto ed eventualmente una soluzione, se non ne risulta aperta ancora nessuna. È possibile eseguire questa operazione tutte le volte necessarie. Ogni progetto verrà aggiunto alla soluzione correntemente aperta.

I modelli di progetto per tutte le lingue sono disponibili in Programmi\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\Lingua\.

È possibile inoltre creare modelli 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 fare clic su Progetti e soluzioni. Digitare il percorso dei modelli nella finestra Percorso dei modelli di progetto utente di Visual Studio.

I modelli di progetto personalizzati richiedono nomi file univoci che non entrino in conflitto con i nomi file definiti in Programmi\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\Lingua\.

Assicurarsi di utilizzare nomi file lunghi, anziché nel formato 8.3. Per ulteriori informazioni, vedere Creazione di modelli di progetti e di elementi.

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 Gestione delle impostazioni.

Creazione di un progetto

Per creare un progetto a livello di codice

  1. Avviare Visual Studio e creare un progetto di componente aggiuntivo Visual Studio.

  2. Aggiungere il codice di esempio riportato successivamente in questo argomento alla classe Connect del componente aggiuntivo.

  3. Eseguire il progetto di componente aggiuntivo e attivarlo in Gestione componenti aggiuntivi.

    A tal fine, fare clic su Gestione componenti aggiuntivi nel menu Strumenti e selezionare il componente aggiuntivo.

Esempio

Nell'esempio seguente vengono utilizzati GetProjectTemplate e AddFromTemplate per creare due progetti di console, uno Visual Basic e l'altro Visual C#, in una soluzione.

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)
    createProjectsFromTemplates(_applicationObject)
End Sub

Sub createProjectsFromTemplates(ByVal dte As DTE2)
    Try
        ' Create a solution with two projects in it, based on project 
        ' templates.
        Dim soln As Solution2 = CType(DTE.Solution, _
        Solution2)
        Dim csTemplatePath As String
        Dim vbTemplatePath As String
        Dim csPrjPath As String = _
        "C:\UserFiles\user1\addins\MyCSProject"
        Dim vbPrjPath As String = _
        "C:\UserFiles\user1\addins\MyVBProject"

        ' Get the project template path for a C# console project.
        ' Console Application is the template name that appears in the 
        ' right pane, "CSharp" is the Language(vstemplate) as seen in 
        ' the registry.
        csTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp")
        MsgBox("C# template path: " & csTemplatePath)
        ' Get the project template path for a Visual Basic
        ' console project.
        ' "vbproj: is the DefaultProjectExtension as seen in the 
        ' registry.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "vbproj")
        MsgBox("Visual Basic template path: " & vbTemplatePath)
        ' Create a new C# console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
          "New CSharp Console Project", False)
        ' Create a new Visual Basic console project using the template
        ' obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
          "New Visual Basic Console Project", False)
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    createProjectsFromTemplates(_applicationObject);
}

public void createProjectsFromTemplates(DTE2 dte)
{
    try
    {
        // Create a solution with two projects in it, based on project 
        // templates.
        Solution2 soln = (Solution2)dte.Solution;
        string csTemplatePath;
        string vbTemplatePath;
        string csPrjPath = "C:\\UserFiles\\user1\\addins\\MyCSProject";
        string vbPrjPath = "C:\\UserFiles\\user1\\addins\\MyVBProject";
        // Get the project template path for a C# console project.
        // Console Application is the template name that appears in 
        // the right pane. "CSharp" is the Language(vstemplate) as seen 
        // in the registry.
        csTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "CSharp");
        System.Windows.Forms.MessageBox.Show("C# template path: " + 
          csTemplatePath);
        // Get the project template path for a Visual Basic console
        // project.
        // "vbproj: is the DefaultProjectExtension as seen in the 
        // registry.
        vbTemplatePath = soln.GetProjectTemplate("ConsoleApplication.zip", 
          "vbproj");
        System.Windows.Forms.MessageBox.Show("Visual Basic template path: " + 
          vbTemplatePath);
        // Create a new C# console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, "New CSharp 
          Console Project", false);
        // Create a new Visual Basic console project using the template 
        // obtained above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, "New VB Console 
          Project", false);
    }
    catch (System.Exception ex)
    {
        System.Windows.Forms.MessageBox.Show("ERROR: " + ex.Message);
    }
}

Vedere anche

Attività

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione

Procedura: creare elementi di progetto a livello di codice

Concetti

Modifica di progetti Visual Basic e Visual C#

Modifica dei progetti di Visual C++

Altre risorse

Controllo della soluzione e dei relativi progetti