Freigeben über


VSProject2.CopyProject-Methode

Kopiert ein Webprojekt teilweise oder komplett an einen neuen Speicherort.

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

Syntax

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

Parameter

  • bstrDestFolder
    Typ: String

    Erforderlich. Der Zielordner für das neue Projekt. Falls noch kein Ordner vorhanden ist, wird er erstellt. Diese Zeichenfolge weist folgendes Format auf: https://ServerName/CopyName/.

  • bstrDestUNCPath
    Typ: String

    Erforderlich. Der UNC-Pfad für die Dateifreigabe, wenn für das zu kopierende Projekt der Dateifreigabezugriff verwendet wird. Verwenden Sie die leere Zeichenfolge, wenn für das Projekt FrontPage-Servererweiterungen verwendet werden.

  • copyProjectOption
    Typ: prjCopyProjectOption

    Erforderlich. Ein prjCopyProjectOption-Wert, der festlegt, welche Projektdateien kopiert werden: alle Dateien, alle Projektdateien oder nur die Dateien, die zum Ausführen der Anwendung benötigt werden.

  • bstrUsername
    Typ: String

    Erforderlich. Die Netzwerkanmelde-ID des Benutzers.

  • bstrPassword
    Typ: String

    Erforderlich. Das Kennwort des Benutzers.

Hinweise

Diese Methode, die zum Kopieren von Webprojekten verwendet wird, bietet mehr Funktionalität als ein einfaches xcopy der Projektdateien, aber weniger Funktionalität als die Bereitstellung. Die CopyProject-Methode nimmt die erforderlichen Änderungen am IIS und dem Projektordner auf dem Webserver vor, sodass die Entwicklung des Projekts wie gewohnt fortgesetzt werden kann. Die Bereitstellung bietet mehr Features zum Einrichten eines Webs, einschließlich der Erstellung von Datenbanken und Meldungswarteschlangen.

Mit dieser Methode werden nur Webprojekte kopiert. Webprojekte sind Projekte, die aus den Vorlagen für ASP.NET-Webanwendungen, XML-Webdienste und leere Webprojekte im Dialogfeld Neues Projekt erstellt werden. Wenn es sich bei dem Projekt um ein lokales Projekt handelt, wird eine Ausnahme ausgelöst.

Wenn die Zielordner oder Zieldateien bereits vorhanden sind, werden sie überschrieben.

Beispiele

In diesem Beispiel wird das erste Projekt in der Projektmappe kopiert, sofern es sich um ein Visual Basic- oder Visual C#-Projekt handelt. Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

VSProject2 Schnittstelle

VSLangProj80-Namespace