Поделиться через


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

См. также

Ссылки

VSProject2 Интерфейс

CopyProject - перегрузка

VSLangProj80 - пространство имен