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: StringObligatorio. Carpeta de destino para el nuevo proyecto. Si la carpeta no existe, se creará. Esta cadena adopta el formato, https://ServerName/CopyName/.
bstrDestUNCPath
Tipo: StringObligatorio. 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: prjCopyProjectOptionObligatorio. 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: StringObligatorio. Id. de acceso en red del usuario.
bstrPassword
Tipo: StringObligatorio. 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.