Share via


VSProject2.CopyProject (Método)

Copia un proyecto web, parcial o totalmente, a una nueva ubicación.

Espacio de nombres:  VSLangProj80
Ensamblado:  VSLangProj80 (en VSLangProj80.dll)

Sintaxis

'Declaración
Sub CopyProject ( _
    bstrDestFolder As String, _
    bstrDestUNCPath As String, _
    copyProjectOption As prjCopyProjectOption, _
    bstrUsername As String, _
    bstrPassword As String _
)
void CopyProject(
    string bstrDestFolder,
    string bstrDestUNCPath,
    prjCopyProjectOption copyProjectOption,
    string bstrUsername,
    string bstrPassword
)
void CopyProject(
    [InAttribute] String^ bstrDestFolder, 
    [InAttribute] String^ bstrDestUNCPath, 
    [InAttribute] prjCopyProjectOption copyProjectOption, 
    [InAttribute] String^ bstrUsername, 
    [InAttribute] String^ bstrPassword
)
abstract CopyProject : 
        bstrDestFolder:string * 
        bstrDestUNCPath:string * 
        copyProjectOption:prjCopyProjectOption * 
        bstrUsername:string * 
        bstrPassword:string -> unit
function CopyProject(
    bstrDestFolder : String, 
    bstrDestUNCPath : String, 
    copyProjectOption : prjCopyProjectOption, 
    bstrUsername : String, 
    bstrPassword : String
)

Parámetros

  • bstrDestFolder
    Tipo: String

    Obligatorio. Carpeta de destino para el nuevo proyecto. Si la carpeta no existe, se creará. Esta cadena adopta el formato, https://ServerName/CopyName/.

  • bstrDestUNCPath
    Tipo: String

    Obligatorio. Ruta de acceso UNC para compartir archivos si el proyecto que se va a copiar usa el acceso a recursos compartidos de archivos. Use una cadena vacía si el proyecto usa el acceso mediante Extensiones de servidor de FrontPage.

  • copyProjectOption
    Tipo: prjCopyProjectOption

    Obligatorio. Valor de prjCopyProjectOption que determina qué archivos de proyecto se copian: todos los archivos, todos los archivos del proyecto o solo los archivos necesarios para ejecutar la aplicación.

  • bstrUsername
    Tipo: String

    Obligatorio. Id. de acceso en red del usuario.

  • bstrPassword
    Tipo: String

    Obligatorio. Contraseña del usuario.

Comentarios

Este método, que se utiliza para copiar proyectos web, proporciona más funcionalidad que un simple xcopy de los archivos de proyecto, pero menos funcionalidad que la implementación. El método CopyProject realiza los cambios pertinentes en IIS y en la carpeta de proyecto del servidor Web para que el desarrollo del proyecto pueda continuar de la manera habitual. La implementación proporciona más características de configuración para Web, entre ellas la creación de bases de datos y colas de mensajes.

Este método sólo copia proyectos web. Los proyectos web son proyectos creados a partir de las plantillas Aplicación Web ASP.NET, Servicio Web XML y Proyecto Web vacío del cuadro de diálogo Nuevo proyecto. Si se trata de un proyecto local, se produce una excepción.

Si las carpetas o los archivos de destino ya existen, se sobrescriben.

Ejemplos

En este ejemplo se copia el primer proyecto en la solución, siempre y cuando se trate de un proyecto de Visual Basic o Visual C#. Para ejecutar este ejemplo como complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

[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)
    CopyWeb(applicationObject)
End Sub

Public Sub CopyWeb(ByVal dte As DTE2)
    Try
        Dim proj As VSProject2 = _
        CType(applicationObject.Solution.Projects.Item(1).Object, _
    VSProject2)
        proj.CopyProject("https://Localhost/Copy_of_Project", "", _
        prjCopyProjectOption.prjRunFiles, "", "")
    Catch ex As System.Exception
        MsgBox("Cannot copy Web project.")
    End Try
End Sub

[C#]

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;
    CopyWeb((DTE2)applicationObject);
}

public void CopyWeb( DTE2 dte ) { 
    try { 
        VSProject2 proj = ( ( VSProject2 )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        proj.CopyProject( "https://Localhost/Copy_of_Project", "",
 prjCopyProjectOption.prjRunFiles, "", "" ); 
    }
    catch ( System.Exception ex ) {
        MessageBox.Show(ex.ToString());
        MessageBox.Show( "Cannot copy Web project."); 
    }
}

Seguridad de .NET Framework

Vea también

Referencia

VSProject2 Interfaz

VSLangProj80 (Espacio de nombres)