VSProject.CopyProject メソッド
Web プロジェクトの一部または全部を新しい場所にコピーします。
名前空間: VSLangProj
アセンブリ: VSLangProj (vslangproj.dll 内)
構文
'宣言
'使用
パラメータ
- bstrDestFolder
必ず指定します。新しいプロジェクトを格納するフォルダ。フォルダが存在しない場合は、自動的に作成されます。この文字列は、"https://ServerName/CopyName/" の形式で指定します。
- bstrDestUNCPath
必ず指定します。コピーするプロジェクトがファイル共有アクセスを使用している場合のファイル共有用 UNC パス。プロジェクトが FrontPage Server Extensions アクセスを使用している場合は、空の文字列を使用します。
- copyProjectOption
必ず指定します。コピー対象のプロジェクト ファイル (すべてのファイル、すべてのプロジェクト ファイル、またはアプリケーションの実行に必要なファイルのみ) を決定する prjCopyProjectOption 値を指定します。
- bstrUsername
必ず指定します。ユーザーのネットワーク ログイン ID。
- bstrPassword
必ず指定します。ユーザーのパスワードを指定します。
解説
Web プロジェクトをコピーする場合に使用します。このメソッドには、プロジェクト ファイルの xcopy よりも多くの機能が用意されていますが、配置に比較するとその機能は限られています。CopyProject メソッドは、コピーした Web プロジェクトで開発作業を通常どおり続けられるように、Web サーバー上のインターネット インフォメーション サーバー (IIS: Internet Information Server) およびプロジェクト フォルダに対して適切な変更を加えます。配置の場合は、データベースやメッセージ キューの作成など、Web を設定するためのさらに多くの機能が提供されます。
このメソッドは、Web プロジェクトだけをコピーします。Web プロジェクトとは、[新しいプロジェクト] ダイアログ ボックスで、ASP.NET Web アプリケーション、XML Web サービス、および空の Web プロジェクトの各テンプレートを使用して作成されたプロジェクトです。プロジェクトがローカル プロジェクトである場合は、例外が発生します。
コピー先のフォルダまたはファイルが既に存在する場合、それらは上書きされます。
使用例
' Macro editor
' 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
Public Sub CopyWeb()
Try
Dim proj As VSLangProj.VSProject = _
CType(DTE.Solution.Projects.Item(1).Object, VSLangProj.VSProject)
proj.CopyProject("https://Localhost/Copy_of_Project", "", _
prjCopyProjectOption.prjRunFiles, "", "")
Catch ex As System.Exception
MsgBox("Cannot copy Web project.")
End Try
End Sub