VSProject2.CopyProject(String, String, prjCopyProjectOption, String, String) Method


Copies some or all of a Web project to a new location.

 void CopyProject(System::String ^ bstrDestFolder, System::String ^ bstrDestUNCPath, VSLangProj::prjCopyProjectOption copyProjectOption, System::String ^ bstrUsername, System::String ^ bstrPassword);
 void CopyProject(Platform::String ^ bstrDestFolder, Platform::String ^ bstrDestUNCPath, VSLangProj::prjCopyProjectOption copyProjectOption, Platform::String ^ bstrUsername, Platform::String ^ bstrPassword);
void CopyProject(std::wstring const & bstrDestFolder, std::wstring const & bstrDestUNCPath, VSLangProj::prjCopyProjectOption copyProjectOption, std::wstring const & bstrUsername, std::wstring const & bstrPassword);
public void CopyProject (string bstrDestFolder, string bstrDestUNCPath, VSLangProj.prjCopyProjectOption copyProjectOption, string bstrUsername, string bstrPassword);
abstract member CopyProject : string * string * VSLangProj.prjCopyProjectOption * string * string -> unit
Public Sub CopyProject (bstrDestFolder As String, bstrDestUNCPath As String, copyProjectOption As prjCopyProjectOption, bstrUsername As String, bstrPassword As String)



Required. The destination folder for the new project. The folder is created if it does not exist. This string takes the form, http://ServerName/CopyName/.


Required. The UNC path for file-sharing if the project to be copied is using file-share access. Use the empty string if the project is using FrontPage Server Extensions access.


Required. A prjCopyProjectOption value that determines which project files are copied — all files, all project files, or only files needed to run the application.


Required. The user's network login ID.


Required. The user's password.




This example copies the first project in the solution, as long as it is a Visual Basic or Visual C# project. To run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

[Visual Basic]

' Add-in code.  
' Copies the first project in the solution.  
' This procedure could fail if the first project is not a Visual Basic,  
' or Visual C# project, or if the project is not a Web  
' application.  
Imports VSLangProj  
Imports VSLangProj80  
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)  
End Sub  
Public Sub CopyWeb(ByVal dte As DTE2)  
        Dim proj As VSProject2 = _  
        CType(applicationObject.Solution.Projects.Item(1).Object, _  
        proj.CopyProject("http://Localhost/Copy_of_Project", "", _  
        prjCopyProjectOption.prjRunFiles, "", "")  
    Catch ex As System.Exception  
        MsgBox("Cannot copy Web project.")  
    End Try  
End Sub  


using System.Windows.Forms;  
using VSLangProj;  
using VSLangProj2;  
using VSLangProj80;  
public void OnConnection(object application, ext_ConnectMode  
 connectMode, object addInInst, ref Array custom)  
    applicationObject = (DTE2)application;  
    addInInstance = (AddIn)addInInst;  
public void CopyWeb( DTE2 dte ) {   
    try {   
        VSProject2 proj = ( ( VSProject2 )  
(applicationObject.Solution.Projects.Item( 1 ).Object ) );   
        proj.CopyProject( "http://Localhost/Copy_of_Project", "",  
 prjCopyProjectOption.prjRunFiles, "", "" );   
    catch ( System.Exception ex ) {  
        MessageBox.Show( "Cannot copy Web project.");   


This method, used to copy Web projects, provides more functionality than a simple xcopy of the project files, but less functionality than deployment. The CopyProject method makes the appropriate changes to IIS and the project folder on the Web server, so that development can continue as usual on the project. Deployment provides more features for setting up a Web, including creating databases and message queues.

This method copies only Web projects. Web projects are projects created from the ASP.NET Web application, XML Web Service, and Empty Web Project templates in the New Project dialog box. If the project is a local project, an exception is raised.

If the destination folders or files already exist, they are overwritten.

Applies to