_Solution.AddFromTemplate Method (String, String, String, Boolean)


Copies an existing project file, and any items or subdirectories it contains, to the specified location and adds it to the solution.

Namespace:   EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

abstract AddFromTemplate : 
        FileName:string *
        Destination:string *
        ProjectName:string *
        Exclusive:bool = false -> Project


Type: System.String

Required. The full path and file name with extension of the template project file.

Type: System.String

Required. The full path of the directory in which to copy the contents of FileName.

Type: System.String

Required. The name of the project file in the destination directory. This should include the extension. The name displayed is derived from ProjectName.

Type: System.Boolean

Optional. Indicates whether the project loads in the current solution or its own; true if the current solution is closed and the project is added to a new solution, false if the project is added to the existing open solution.

Return Value

Type: EnvDTE.Project

A Project object.

The name of the project displayed in the Solution Browser is ProjectName without the file extension. AddFromTemplate fails if the new project file name already exists in the destination.


For Visual Basic and Visual C# projects: The Project object returned is null. You can find the Project object created by iterating through the DTE.Solution.Projects collection using the ProjectName parameter to identify the newly created project.

Sub SolutionExample()
   'This function creates a solution and adds a Visual Basic Console
   'project to it. 
   Dim soln As Solution
   Dim proj As Project
   Dim msg As String

   'Create a reference to the solution.
   soln = DTE.Solution

   ' Create a new solution.
   soln.Create("c:\temp2", "MyNewSolution")

   ' Create a new VB project from a template. 
   ' Adjust the template path and save path as needed.
   proj = soln.AddFromTemplate("<template path>\ConsoleApplication.vbproj", "c:\temp2", "My New Project", True)
   ' Save the new solution and project.
   msg = "Created new solution: " & soln.FullName & vbCrLf
   msg = msg & "Created new project: " & proj.Name
End Sub
Return to top