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必选。 新项目的目标文件夹。 如果此文件夹不存在,将创建它。 此字符串采用 https://ServerName/CopyName/ 格式。
bstrDestUNCPath
类型:String必选。 如果要复制的项目使用的是文件共享访问,则为文件共享的 UNC 路径。 如果项目使用的是 FrontPage 服务器扩展访问,则使用空字符串。
copyProjectOption
类型:prjCopyProjectOption必选。 一个用来确定复制哪些项目文件(是复制所有文件、所有项目文件还是仅复制运行应用程序所需的文件)的 prjCopyProjectOption 值。
bstrUsername
类型:String必选。 用户的网络登录 ID。
bstrPassword
类型:String必选。 用户的密码。
备注
此方法用于复制 Web 项目,它提供的功能比项目文件的简单 xcopy 提供的多,但比部署提供的少。 CopyProject 方法对 Web 服务器上的 IIS 和项目文件夹进行适当更改,以便项目的开发可以照常继续进行。 部署则提供更多设置 Web 的功能,包括创建数据库和消息队列。
此方法只复制 Web 项目。 Web 项目是从**“新建项目”**对话框中 ASP.NET Web 应用程序、XML Web services 和“空 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。