Partager via


VSProject2.CopyProject, méthode (String, String, prjCopyProjectOption, String, String)

Copie entièrement ou partiellement un projet Web à un nouvel emplacement.

Espace de noms :  VSLangProj80
Assembly :  VSLangProj80 (dans VSLangProj80.dll)

Syntaxe

'Déclaration
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
)

Paramètres

  • bstrDestFolder
    Type : System.String
    Obligatoire.Dossier de destination du nouveau projet.Le dossier est créé s'il n'existe pas encore.Cette chaîne prend la forme, https://ServerName/CopyName/.
  • bstrDestUNCPath
    Type : System.String
    Obligatoire.Chemin d'accès UNC pour le partage de fichiers si le projet à copier utilise le mode d'accès Partage de fichiers.Entrez une chaîne vide si le projet utilise un accès par les extensions serveur FrontPage.
  • copyProjectOption
    Type : VSLangProj.prjCopyProjectOption
    Obligatoire.Une valeur prjCopyProjectOption qui détermine quels fichiers projet sont copiés - tous les fichiers, tous les fichiers projet ou uniquement les fichiers nécessaires à l'exécution de l'application.
  • bstrUsername
    Type : System.String
    Obligatoire.ID de connexion au réseau de l'utilisateur.
  • bstrPassword
    Type : System.String
    Obligatoire.Mot de passe de l'utilisateur.

Implémentations

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

Notes

Cette méthode, qui sert à copier les projets Web, offre plus de fonctionnalités qu'une simple copie des fichiers projet avec xcopy, mais moins que le déploiement. La méthode CopyProject effectue les modifications appropriées à IIS et au dossier du projet sur le serveur Web, de sorte que le développement puisse continuer normalement sur le projet. Le déploiement offre plus de fonctionnalités pour la configuration d'un projet Web, en particulier pour la création des bases de données et des files d'attente de messages.

Cette méthode ne copie que les projets Web. Les projets Web sont des projets créés à partir des modèles d'application Web ASP.NET, de service Web XML et de projet Web vide de la boîte de dialogue Nouveau projet. Si le projet est local, une exception est levée.

Si les dossiers ou fichiers de destination existent déjà, ils sont remplacés.

Exemples

Cet exemple copie le premier projet de la solution, pour autant qu'il s'agisse d'un projet Visual Basic ou Visual C#. Pour exécuter cet exemple comme un complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

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

Sécurité .NET Framework

Voir aussi

Référence

VSProject2 Interface

CopyProject, surcharge

VSLangProj80, espace de noms