Metodo SolutionFolder.AddFromTemplate

Aggiunge un nuovo progetto nella cartella Soluzione basata su un modello di progetto.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
Function AddFromTemplate ( _
    FileName As String, _
    Destination As String, _
    ProjectName As String _
) As Project
Project AddFromTemplate(
    string FileName,
    string Destination,
    string ProjectName
)
Project^ AddFromTemplate(
    [InAttribute] String^ FileName, 
    [InAttribute] String^ Destination, 
    [InAttribute] String^ ProjectName
)
abstract AddFromTemplate : 
        FileName:string * 
        Destination:string * 
        ProjectName:string -> Project 
function AddFromTemplate(
    FileName : String, 
    Destination : String, 
    ProjectName : String
) : Project

Parametri

  • FileName
    Tipo: System.String
    Il percorso completo del modello di progetto.
  • Destination
    Tipo: System.String
    Questo è il percorso completo della directory in cui copiare FileName contenuto.
  • ProjectName
    Tipo: System.String
    Il nome del nuovo progetto essere creato.

Valore restituito

Tipo: EnvDTE.Project
In Project oggetto.

Note

Questa chiamata ha esito negativo se il nuovo nome del file di progetto è già presente nella destinazione.

Esempi

In questo esempio viene creata una nuova cartella Soluzione e aggiungere un progetto da un file esistente.Vengono inoltre aggiunti un progetto da un modello.Prima di eseguire questo esempio, creare “i„ cartella out dall'impulso principale (“C: „ in questo esempio) e creare un oggetto Visual C# progetto Libreria di classi, denominato “ClassLibrary1„ in tale cartella.È inoltre necessario creare una cartella denominata “MyCSProject„ in “progetto„ cartella.aprire un progetto in Visual Studio ambiente (IDE) di sviluppo integrato (IDE) prima di eseguire questo componente aggiuntivo.

Per ulteriori informazioni su come eseguire questo esempio viene illustrato come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

Imports EnvDTE
Imports EnvDTE80
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)
    solnFolderAddFromTemplateExample(_applicationObject)
End Sub
Sub solnFolderAddFromTemplateExample(ByVal dte As DTE2)
    ' Before running this example, create a "Projects" folder
    ' off your main drive ("C:" in this example), and create a C# 
    ' class library project, named ClassLibrary1 in that folder.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim sb As New System.Text.StringBuilder
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
         "C:\Projects\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj"
        ' Open a project in the Visual Studio IDE before 
        ' running this add-in.
        ' Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder")
        SF = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a  _
        C# project named ClassLibrary1.")
        ' Get the project template path for a C# console project.
        Dim csTemplatePath As String = soln.GetProjectTemplate _
         ("Console Application", "CSharp")
        ' Before running this example, create a 
        ' "Projects\MyCSProject" folder
        ' off your main drive ("C:" in this example).
        Dim prjPath2 As String = "C:\Projects\MyCSProject"
        ' Add a new C# Console project to the solution folder 
        ' by using the template obtained above.
        SF.AddFromTemplate(csTemplatePath, prjPath2, _
         "New CSharp Console Project")
        MsgBox("Added a new project from template  _
        to the solution folder.")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    solnFolderAddFromTemplateExample(_applicationObject);
}
public void solnFolderAddFromTemplateExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    SolutionFolder SF;
    try
    {
        String prjPath = "C:\\Projects\\ClassLibrary1
\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before 
        // running this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
        MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
        // Get the project template path for a C# console project.
        String csTemplatePath = soln.GetProjectTemplate
("Console Application", "CSharp");
        // Before running this example, create 
        // a "Projects\MyCSProject" folder
        // off your main drive ("C:" in this example).
        String prjPath2 = "C:\\Projects\\MyCSProject";
        // Add a new C# Console project to the solution folder
        // by using the template obtained above.
        SF.AddFromTemplate(csTemplatePath, prjPath2,
 "New CSharp Console Project");
        MessageBox.Show("Added a new project from 
template to the solution folder.");
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

SolutionFolder Interfaccia

Spazio dei nomi EnvDTE80