VSProject2.CopyProject - метод (String, String, prjCopyProjectOption, String, String)
Копирует некоторую часть веб-проекта или весь веб-проект в новое расположение.
Пространство имен: 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, значение параметра должно быть пустой строкой.
- copyProjectOption
Тип: VSLangProj.prjCopyProjectOption
Обязательный.Значение prjCopyProjectOption, определяющее, какие именно файлы проекта копируются — все файлы, все файлы проекта или только файлы, необходимые для выполнения приложения.
- bstrUsername
Тип: System.String
Обязательный.Сетевое имя пользователя.
- bstrPassword
Тип: System.String
Обязательный.Пароль пользователя.
Заметки
Этот метод, используемый для копирования веб-проектов, предоставляет больше функциональных возможностей, чем команда xcopy, но меньше, чем развертывание.Метод CopyProject выполняет соответствующие изменения в IIS и папке проекта на веб-сервере, чтобы разработка проекта могла продолжаться как обычно.Развертывание предоставляет больше возможностей по настройке Интернета, включая создание баз данных и очередей сообщений.
В данном методе выполняется копирование только веб-проектов.Веб-проекты — это проекты, созданные из веб-приложения ASP.NET, веб-службы XML и шаблонов пустых веб-проектов в диалоговом окне Создание проекта.Если данный проект является локальным, возникает исключение.
Если конечные папки или файлы уже существуют, они перезаписываются.
Примеры
В данном примере выполняется копирование первого проекта в решении, если он является проектом 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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.