SolutionFolder.AddFromTemplate(String, String, String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.