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
必ず指定します。ユーザーのパスワード。
解説
Web プロジェクトをコピーする場合に使用します。このメソッドには、プロジェクト ファイルの xcopy よりも多くの機能が用意されていますが、配置に比較するとその機能は限られています。CopyProject メソッドは、コピーした Web プロジェクトで開発作業を通常どおり続けられるように、Web サーバー上のインターネット インフォメーション サーバー (IIS: Internet Information Server) およびプロジェクト フォルダーに対して適切な変更を加えます。配置の場合は、データベースやメッセージ キューの作成など、Web を設定するためのさらに多くの機能が提供されます。
このメソッドは、Web プロジェクトだけをコピーします。Web プロジェクトとは、[新しいプロジェクト] ダイアログ ボックスで、ASP.NET Web アプリケーション、XML Web サービス、および空の Web プロジェクトの各テンプレートを使用して作成されたプロジェクトです。プロジェクトがローカル プロジェクトである場合は、例外が発生します。
コピー先のフォルダーまたはファイルが既に存在する場合、それらは上書きされます。
例
この例は、ソリューションの最初のプロジェクトが Visual Basic または Visual C# プロジェクトであれば、コピーします。このサンプル コードをアドインとして実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。
[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 セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。