다음을 통해 공유


VSProject2 인터페이스

Visual Basic 또는 Visual C# 프로젝트에 관한 정보를 포함합니다. 프로젝트가 Visual Basic 또는 Visual C# 프로젝트이면 Object 개체에서 이 개체가 반환됩니다.

네임스페이스:  VSLangProj80
어셈블리:  VSLangProj80(VSLangProj80.dll)

구문

‘선언
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
    Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =  
    interface 
        interface VSProject 
    end
public interface VSProject2 extends VSProject

VSProject2 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 BuildManager VSProjectBuildManager 개체를 가져옵니다.
Public 속성 DTE 최상위 확장성 개체를 가져옵니다.
Public 속성 Events Imports, ReferencesBuildManager 개체의 이벤트에 응답하는 데 사용할 수 있는 VSProjectEvents 개체를 가져옵니다.
Public 속성 Events2 Imports, References, BuildManagerVSLangProjWebReferencesEvents 개체의 이벤트에 응답하는 데 사용할 수 있는 VSProjectEvents2 개체를 가져옵니다.
Public 속성 Imports 프로젝트와 연결된 Imports 개체를 가져옵니다.C# 프로젝트의 경우 Imports 속성은 Nothing(nullNull 참조(Visual Basic의 경우 Nothing) 참조)으로 설정되어 있습니다.
Public 속성 Project Visual Basic 또는 Visual C# 프로젝트에 연결된 제네릭 Project 개체를 가져옵니다.
Public 속성 PublishManager 한 번 클릭으로 게시할 수 있는 PublishManager 개체를 가져옵니다.
Public 속성 References 프로젝트의 References 컬렉션을 가져옵니다.
Public 속성 TemplatePath 이 속성은 Microsoft Visual Studio 2005에서 사용되지 않습니다.대신 GetProjectItemTemplate를 사용하십시오.
Public 속성 WebReferencesFolder 프로젝트의 Web References 폴더를 나타내는 ProjectItem 개체를 가져옵니다.폴더가 없으면 이 속성은 Nothing(nullNull 참조(Visual Basic의 경우 Nothing) 참조)을 반환합니다.
Public 속성 WorkOffline 웹 프로젝트 작업을 온라인으로 수행할지 오프라인으로 수행할지 나타냅니다.오프라인으로 작업하면 프로젝트 파일의 오프라인 저장 위치에서 개발 작업이 계속 수행되므로 서버의 프로젝트 파일은 변경되지 않습니다.

위쪽

메서드

  이름 설명
Public 메서드 AddWebReference 프로젝트에 웹 서비스에 대한 참조를 추가합니다.프로젝트의 Web References 폴더에 새 웹 서비스 참조의 하위 폴더가 추가됩니다.이 폴더에는 웹 서비스와 관련된 여러 프로젝트 항목이 포함됩니다.이 메서드는 새 웹 서비스 폴더와 관련된 ProjectItem 개체를 반환합니다.
Public 메서드 CopyProject 웹 프로젝트의 일부 또는 전체를 새 위치로 복사합니다.
Public 메서드 CreateWebReferencesFolder 프로젝트의 Web References 폴더를 만듭니다.
Public 메서드 Exec 인프라입니다. Microsoft 내부용입니다.
Public 메서드 GenerateKeyPairFiles 어셈블리의 강력한 이름을 만드는 데 사용되는 공개 키/개인 키 파일을 생성합니다.
Public 메서드 GetUniqueFilename 프로젝트 내에서 고유한 파일 이름을 생성합니다. 새 프로젝트 항목 이름을 지정 하는 데 사용 됩니다.
Public 메서드 Refresh 솔루션 탐색기 에서 프로젝트 모양을 새로 고치고 참조를 새로 고칩니다.

위쪽

설명

Project는 모든 언어의 프로젝트에 대한 정보를 포함할 수 있는 핵심 확장성 개체입니다. Project 개체의 Object 속성은 사용된 프로젝트 언어에 따라 형식이 달라지는 개체를 반환합니다. Visual Basic 및 Visual C#의 경우 이러한 개체는 VSProject2 개체입니다.

Object 속성은 Object 데이터 형식을 반환합니다. Object 속성에서 반환되는 데이터 개체는 명시적으로 VSProject2로 변환될 수 있습니다. 아래 예제에서는 CType 함수를 사용하여 변환하는 방법을 보여 줍니다. PrjKind는 변환하기 전에 프로젝트의 형식을 테스트하는 데 사용됩니다.

예제

이 예제를 추가 기능으로 실행하려면 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.

Visual Basic 또는 Visual C# 프로젝트가 스마트 장치 프로젝트인지 확인하려면 prjKindSDEVBProjectprjKindSDECSharpProject를 사용합니다.

[Visual Basic]

Imports VSLangProj
Imports VSLangProj2
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)
    VSProject2Example(applicationObject)
End Sub

 Sub VSProject2Example(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject2 As VSProject2

    aProject = applicationObject.Solution.Projects.Item(1)
    MsgBox(aProject.Kind & aProject.Name)
    If (aProject.Kind = PrjKind.prjKindVBProject) Or_
    (aProject.Kind = PrjKind.prjKindCSharpProject) Then
        aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
        VSProject2)
        MsgBox(aVSProject2.Project.FullName)
    Else
        MsgBox("The first project is not a Visual Basic or C# _
        project.")
    End If
End Sub

[C#]

// To use Messabox.Show, a reference to Windows.Forms is required.
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;
    VSProject2Example((DTE2)applicationObject);
}

public void VSProject2Example(DTE2 dte)
{
    Project aProject = null; 
    VSProject aVSProject2 = null; 
    aProject = applicationObject.Solution.Projects.Item( 1 ); 
    MessageBox.Show( aProject.Kind + aProject.Name); 
    if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
 ( aProject.Kind == PrjKind.prjKindCSharpProject ) ) 
    { 
        aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
        MessageBox.Show( aVSProject2.Project.FullName); 
    } 
    else 
    { 
        MessageBox.Show( "The first project is not a Visual Basic or C# project."); 
    } 
}

참고 항목

참조

VSLangProj80 네임스페이스

VSProject