VSProject2.CopyProject 方法
將部分或整個 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
類型:String必要項。 新專案的目的資料夾。 如果資料夾不存在則會建立新的資料夾。 這個字串的形式為 http://ServerName/CopyName/。
bstrDestUNCPath
類型:String必要項。 如果要複製的專案使用檔案共用存取,則這是檔案共用的 UNC 路徑。 如果專案使用 FrontPage Server Extensions 存取,請使用空字串。
copyProjectOption
類型:prjCopyProjectOption必要項。 prjCopyProjectOption 值,用以判定要複製哪些專案檔案,例如複製所有檔案、所有專案檔案,或只複製執行應用程式所需的檔案。
bstrUsername
類型:String必要項。 使用者的網路登入 ID。
bstrPassword
類型:String必要項。 使用者的密碼。
備註
比起簡單 xcopy 專案檔,這個用來複製 Web 專案的方法提供較多功能,但不如部署的功能多。 CopyProject 方法會適當變更 Web 伺服器上的 IIS 和專案資料夾,使得專案的開發能夠照常繼續。 部署提供較多設定 Web 的功能,包括建立資料庫和訊息佇列。
此方法僅限於複製 Web 專案。 Web 專案指的是從 ASP.NET Web 應用程式、XML Web Service 和 [新增專案] 對話方塊中的 [空的 Web 專案] 範本建立的專案。 如果專案是本機專案,則會引發例外狀況。
如果目的資料夾或檔案已存在,則會遭到覆寫。
範例
如果方案中的第一個專案是 Visual Basic 或 Visual C# 專案,此範例就會複製該專案。 若要將此範例當做增益集來執行,請參閱 如何:編譯和執行 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("http://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( "http://Localhost/Copy_of_Project", "",
prjCopyProjectOption.prjRunFiles, "", "" );
}
catch ( System.Exception ex ) {
MessageBox.Show(ex.ToString());
MessageBox.Show( "Cannot copy Web project.");
}
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。