VSProject2.CopyProject 方法 (String, String, prjCopyProjectOption, String, String)

將部分或整個 Web 專案複製至新位置。

命名空間:  VSLangProj80
組件:  VSLangProj80 (在 VSLangProj80.dll 中)

語法

'宣告
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
)

參數

  • bstrDestFolder
    型別:System.String
    必要項。新專案的目的資料夾。如果資料夾不存在則會建立新的資料夾。這個字串的形式為 https://ServerName/CopyName/。
  • bstrDestUNCPath
    型別:System.String
    必要項。如果要複製的專案使用檔案共用存取,則這是檔案共用的 UNC 路徑。如果專案使用 FrontPage Server Extensions 存取,請使用空字串。
  • bstrUsername
    型別:System.String
    必要項。使用者的網路登入 ID。
  • bstrPassword
    型別:System.String
    必要項。使用者的密碼。

實作

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

備註

比起簡單 xcopy 專案檔,這個用來複製 Web 專案的方法提供較多功能,但不如部署的功能多。 CopyProject 方法會適當變更 Web 伺服器上的 IIS 和專案資料夾,使得專案的開發能夠照常繼續。 部署提供較多設定 Web 的功能,包括建立資料庫和訊息佇列。

此方法僅限於複製 Web 專案。 Web 專案指的是從 ASP.NET Web 應用程式、XML Web Service 和 [新增專案] 對話方塊中的 [空的 Web 專案] 範本建立的專案。 如果專案是本機專案,則會引發例外狀況。

如果目的資料夾或檔案已存在,則會遭到覆寫。

範例

如果方案中的第一個專案是 Visual Basic 或 Visual C# 專案,此範例就會複製該專案。 若要將此範例當做增益集來執行,請參閱 HOW TO:編譯和執行 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."); 
    }
}

.NET Framework 安全性

請參閱

參考

VSProject2 介面

CopyProject 多載

VSLangProj80 命名空間