Condividi tramite


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

Determina la copia intera o parziale di un progetto Web in un nuovo percorso.

Spazio dei nomi:  VSLangProj80
Assembly:  VSLangProj80 (in VSLangProj80.dll)

Sintassi

'Dichiarazione
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
)

Parametri

  • bstrDestFolder
    Tipo: System.String
    Obbligatorio.La cartella di destinazione del nuovo progetto.Se la cartella non esiste, verrà creata.La stringa assume il formato https://ServerName/CopyName/.
  • bstrDestUNCPath
    Tipo: System.String
    Obbligatoria.Percorso UNC per la condivisione dei file, se il progetto da copiare effettua l'accesso in modalità di condivisione file.Utilizzare una stringa vuota se il progetto effettua l'accesso mediante le estensioni del server di FrontPage.
  • copyProjectOption
    Tipo: VSLangProj.prjCopyProjectOption
    Obbligatorio.Valore prjCopyProjectOption che determina i file di progetto da copiare, vale a dire tutti i file, tutti i file di progetto oppure solo i file necessari per l'esecuzione dell'applicazione.
  • bstrUsername
    Tipo: System.String
    Obbligatorio.L'ID di accesso alla rete dell'utente.
  • bstrPassword
    Tipo: System.String
    Obbligatoria.Password dell'utente.

Implementa

VSProject.CopyProject(String, String, prjCopyProjectOption, String, String)

Note

Questo metodo, usato per la copia di progetti Web, offre più funzionalità del semplice comando xcopy dei file del progetto, ma non altrettante rispetto alla distribuzione. Il metodo CopyProject apporta le modifiche appropriate a IIS (Internet Information Services) e alla cartella del progetto sul server Web, consentendo di proseguire normalmente le attività di sviluppo relative al progetto. La distribuzione fornisce maggiori funzionalità per la realizzazione di un Web, quali la creazione di database e code di messaggi.

Questo metodo consente solo la copia di progetti Web. Tali progetti vengono creati tramite l'applicazione Web ASP.NET, il servizio Web XML e i modelli Progetto Web vuoto nella finestra di dialogo Nuovo progetto. Se il progetto è un progetto locale, verrà generata un'eccezione.

I file e le cartelle di destinazione già esistenti verranno sovrascritti.

Esempi

Nell'esempio riportato di seguito viene copiato il primo progetto della soluzione, purché si tratti di un progetto di Visual Basic o Visual C#. Per eseguire questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

[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."); 
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

VSProject2 Interfaccia

Overload CopyProject

Spazio dei nomi VSLangProj80