SolutionFolder.AddFromTemplate(String, String, String) Method

Definition

Adds a new project to the solution folder based on a project template.

public:
 EnvDTE::Project ^ AddFromTemplate(System::String ^ FileName, System::String ^ Destination, System::String ^ ProjectName);
public:
 EnvDTE::Project ^ AddFromTemplate(Platform::String ^ FileName, Platform::String ^ Destination, Platform::String ^ ProjectName);
EnvDTE::Project AddFromTemplate(std::wstring const & FileName, std::wstring const & Destination, std::wstring const & ProjectName);
[System.Runtime.InteropServices.DispId(5)]
public EnvDTE.Project AddFromTemplate (string FileName, string Destination, string ProjectName);
[<System.Runtime.InteropServices.DispId(5)>]
abstract member AddFromTemplate : string * string * string -> EnvDTE.Project
Public Function AddFromTemplate (FileName As String, Destination As String, ProjectName As String) As Project

Parameters

FileName
String

The full path of the project template.

Destination
String

This is the full path to a directory in which to copy the FileName contents.

ProjectName
String

The name of the new project to be created.

Returns

A Project object.

Attributes

Examples

This example creates a new solution folder and adds a project to it from an existing file. It also adds a project from a template. Before running this example, create a "Projects" folder off your main drive ("C:" in this example), and create a Visual C# class library project, named "ClassLibrary1" in that folder. You must also create a folder named "MyCSProject" in the "Projects" folder. Open a project in the Visual Studio integrated development environment (IDE) before running this example.

Imports EnvDTE  
Imports EnvDTE80  
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 example.  
        ' 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 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 example.  
        // 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());  
    }  
}  

Remarks

This call fails if the new project file name already exists in the destination.

Applies to