Condividi tramite


Procedura: eseguire la migrazione del codice con il quale si creano progetti tramite modelli

Aggiornamento: novembre 2007

In Visual Studio 2005 è stato aggiornato il processo di creazione dei progetti. Nella procedura seguente viene illustrato come aggiornare le applicazioni esistenti che utilizzano l'automazione per creare codice a livello di codice.

Per creare progetti basati sui modelli di progetto in Visual Studio .NET 2002 e Visual Studio .NET 2003, è necessario chiamare il metodo AddFromTemplate e quindi passare il nome e il percorso del file del modello, ad esempio .vsz, or .cpp o .cs e così via.

In Visual Studio 2005, i file dei modelli di progetto sono archiviati nel formato .zip e non supportano la procedura sopra descritta. Per informazioni dettagliate su questo nuovo sistema di modelli di progetto, vedere Creazione di modelli di progetti. L'assembly EnvDTE80 fornisce nuovi tipi che consentono di accedere a questi nuovi modelli di progetto in formato compresso. Una versione aggiornata di AddFromTemplate e i nuovi metodi GetProjectTemplate e GetProjectItemTemplate consentono di creare a livello di codice progetti ed elementi di progetto nuovi in base ai relativi file di modello compressi.

Per creare un nuovo progetto in Visual Studio 2005, è necessario utilizzare GetProjectTemplate per ottenere il percorso del tipo di modello specificato da passare al metodo AddFromTemplate. Ciò consente di evitare l'utilizzo di percorsi di modello prefissati nel codice. Di seguito viene illustrata la procedura da utilizzare a tale scopo.

Per aggiornare il codice di un nuovo progetto

  1. Caricare, copiare o importare il codice preesistente in Visual Studio.

  2. Sostituire le sezioni del codice che impostano i percorsi di un progetto e dei modelli degli elementi di progetto a livello di codice con il codice (riportato nella sezione seguente) che utilizza il metodo GetProjectTemplate o GetProjectItemTemplate.

  3. Sostituire le chiamate al metodo AddFromTemplate con il metodo AddFromTemplate.

  4. Compilare il codice ed eseguirlo.

Esempio

Nell'esempio riportato di seguito viene illustrata la procedura per la creazione di progetti ed elementi di progetto a livello di codice. Viene creato un progetto console Visual Basic al quale viene aggiunta una pagina HTML (elemento di progetto).

Sub CreatePrjAndPrjItemExample()
    ' Get a reference to the Solution2 object and create
    ' the path variables.
    Dim soln As Solution2 = CType(DTE.Solution, Solution2)
    Dim vbPrjTemplatePath As String
    Dim vbItemTemplatePath As String
    Dim vbPrjPath As String = "C:\MyNewVBProject"
    Dim prjName As String = "New Visual Basic Console Project"
    Dim prj As Project
    Dim prjItems As ProjectItems

    MsgBox("Starting...")
    ' Get the project template path for a Visual Basic console project.
    vbPrjTemplatePath = _
    soln.GetProjectTemplate("ConsoleApplication.zip", _
     "VisualBasic")
    ' Create a new Visual Basic Console project by using the
    '  template obtained above.
    soln.AddFromTemplate(vbPrjTemplatePath, vbPrjPath, prjName, False)
    MsgBox("Done.")

    ' Reference the project and its items.
    prj = soln.Projects.Item(1)
    prjItems = prj.ProjectItems
    ' Get the path to the HTML Page template and add it to the project.
    vbItemTemplatePath = soln.GetProjectItemTemplate("HTMLPage.zip", _
    "VisualBasic")
    prjItems.AddFromTemplate(vbItemTemplatePath, "A New HTML Page")
End Sub
public void CreatePrjAndPrjItemExample(DTE2 dte)
{
    // Before running, set a reference to
    // System.Windows.Forms.
    // =============================
    // Get a reference to the Solution2 object and create
    // the path variables.
    Solution2 soln = (Solution2) dte.Solution;
    string vbPrjTemplatePath;
    string vbItemTemplatePath;
    string vbPrjPath = "C:\\MyNewVBProject";
    string prjName = "New Visual Basic Console Project";
    Project prj;
    ProjectItems prjItems;
    System.Windows.Forms.MessageBox.Show("Starting...");
    // Get the project template path for a Visual Basic console project.
    vbPrjTemplatePath = soln.GetProjectTemplate _
    ("ConsoleApplication.zip", VisualBasic");
    // Create a new Visual Basic Console project by using 
    // the template obtained above.
    soln.AddFromTemplate(vbPrjTemplatePath, vbPrjPath, prjName, false);
    System.Windows.Forms.MessageBox.Show("Done.");
     // Reference the project and its items.
    prj = soln.Projects.Item(1);
    prjItems = prj.ProjectItems;
    // Get the path to the HTML Page template and add it to the 
    // project.
    vbItemTemplatePath = soln.GetProjectItemTemplate _
    ("HTMLPage.zip", "VisualBasic");
    prjItems.AddFromTemplate(vbItemTemplatePath, "A New HTML Page");
}

Vedere anche

Attività

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

Concetti

Controllo di progetti e soluzioni

Introduzione all'oggetto VSProject2