다음을 통해 공유


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 Server Extensions 액세스를 사용하는 경우 빈 문자열을 사용합니다.
  • copyProjectOption
    형식: VSLangProj.prjCopyProjectOption
    필수적 요소로서,복사할 프로젝트 파일을 지정하는 prjCopyProjectOption 값이며 모든 파일, 모든 프로젝트 파일 또는 응용 프로그램 실행에 필요한 파일로 지정할 수 있습니다.
  • bstrUsername
    형식: System.String
    필수적 요소로서,사용자의 네트워크 로그인 ID입니다.
  • bstrPassword
    형식: System.String
    필수적 요소로서,사용자의 암호입니다.

구현

VSProject.CopyProject(String, String, prjCopyProjectOption, String, String)

설명

이 메서드는 웹 프로젝트를 복사하는 데 사용되며 프로젝트 파일의 단순한 xcopy보다 많은 기능을 제공하지만 배포보다는 적은 기능을 제공합니다. CopyProject 메서드는 IIS와 웹 서버의 프로젝트 폴더를 적절히 변경하므로 이전과 같이 프로젝트에서 개발 작업을 계속할 수 있습니다. 배포는 데이터베이스 및 메시지 큐 만들기 등 더 많은 웹 설정 기능을 제공합니다.

이 메서드는 웹 프로젝트만 복사합니다. 웹 프로젝트는 새 프로젝트 대화 상자에서 ASP.NET 웹 응용 프로그램, XML Web services 및 빈 웹 프로젝트 템플릿을 사용하여 만듭니다. 로컬 프로젝트인 경우 예외가 발생합니다.

대상 폴더나 파일이 이미 있으면 덮어씁니다.

예제

이 예제에서는 솔루션의 첫 번째 프로젝트가 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 네임스페이스