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 存取,請使用空字串。
- copyProjectOption
型別:VSLangProj.prjCopyProjectOption
必要項。prjCopyProjectOption 值,用以判定要複製哪些專案檔案,例如複製所有檔案、所有專案檔案,或只複製執行應用程式所需的檔案。
- 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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。