다음을 통해 공유


관리되는 패키지 프레임워크를 사용하여 프로젝트 형식 구현(C#)

MPF(관리 패키지 프레임워크)는 고유한 프로젝트 형식을 구현하기 위해 사용하거나 상속할 수 있는 C# 클래스를 제공합니다. MPF는 Visual Studio에서 제공하는 프로젝트 형식이 필요한 많은 인터페이스를 구현하므로 프로젝트 형식의 세부 사항을 구현하는 데 집중할 수 있습니다.

MPF 프로젝트 소스 코드 사용

MPFProj(Managed Package Framework for Projects)는 새 프로젝트 시스템을 만들고 관리하기 위한 도우미 클래스를 제공합니다. MPF의 다른 클래스와 달리 프로젝트 클래스는 Visual Studio와 함께 제공되는 어셈블리에 포함되지 않습니다. 대신 프로젝트 클래스는 프로젝트 2013용 MPF에서 소스 코드로 제공됩니다.

VSPackage 솔루션에 이 프로젝트를 추가하려면 다음을 수행합니다.

  1. MPFProj 파일을 MPFProjectDir에 다운로드합니다.

  2. MPFProjectDir\Dev10\Src\CSharp\ProjectBase.file에서 다음 블록을 변경합니다.

    <!-- Provide a default value for $(ProjectBasePath) -->
    <PropertyGroup>
      <ProjectBasePath >MPFProjDir\Dev10\Src\CSharp</ProjectBasePath>
    </PropertyGroup>
    
  3. VSPackage 프로젝트를 만듭니다.

  4. VSPackage 프로젝트를 언로드합니다.

  5. 다음 블록을 다른 <Import> 블록 앞에 추가하여 VSPackage .csproj 파일을 편집합니다.

    <Import Project="MPFProjectDir\Dev10\Src\CSharp\ProjectBase.files" />
      <PropertyGroup>
        <!--To specify a different registry root to register your package, uncomment the TargetRegistryRoot tag and specify a registry root in it.
        <TargetRegistryRoot></TargetRegistryRoot>-->
        <RegisterOutputPackage>true</RegisterOutputPackage>
        <RegisterWithCodebase>true</RegisterWithCodebase>
      </PropertyGroup>
    
  6. 프로젝트를 저장합니다.

  7. VSPackage 솔루션을 닫고 다시 엽니다.

  8. VSPackage 프로젝트를 다시 엽니다. ProjectBase라는 새 디렉터리가 표시됩니다.

  9. VSPackage 프로젝트에 다음 참조를 추가합니다.

    Microsoft.Build.Tasks.4.0
    
  10. 프로젝트를 빌드합니다.

계층 클래스

다음 표에는 프로젝트 계층 구조를 지원하는 MPFProj의 클래스가 요약되어 있습니다. 자세한 내용은 Visual Studio의 계층 구조를 참조하세요.

클래스 이름
Microsoft.VisualStudio.Package.HierarchyNode
Microsoft.VisualStudio.Package.ProjectNode
Microsoft.VisualStudio.Package.ProjectContainerNode
Microsoft.VisualStudio.Package.FileNode
Microsoft.VisualStudio.Package.FolderNode
Microsoft.VisualStudio.Package.ReferenceContainerNode
Microsoft.VisualStudio.Package.ReferenceNode
Microsoft.VisualStudio.Package.ProjectReferenceNode
Microsoft.VisualStudio.Package.ComReferenceNode
Microsoft.VisualStudio.Package.AssemblyReferenceNode
Microsoft.VisualStudio.Package.BuildDependency

문서 처리 클래스

다음 표에서는 문서 처리를 지원하는 MPF의 클래스를 나열합니다. 자세한 내용은 프로젝트 항목 열기 및 저장을 참조하세요.

클래스 이름
Microsoft.VisualStudio.Package.DocumentManager
Microsoft.VisualStudio.Package.FileDocumentManager

구성 및 출력 클래스

다음 표에서는 프로젝트 형식이 디버그 및 릴리스와 같은 여러 구성과 프로젝트 출력 컬렉션을 지원할 수 있도록 하는 MPF의 클래스를 나열합니다. 자세한 내용은 구성 옵션 관리를 참조하세요.

클래스 이름
Microsoft.VisualStudio.Package.ConfigProvider
Microsoft.VisualStudio.Package.ProjectConfig
Microsoft.VisualStudio.Package.BuildableProjectConfig
Microsoft.VisualStudio.Package.OutputGroup
Microsoft.VisualStudio.Package.ProjectElement

자동화 지원 클래스

다음 표에서는 프로젝트 형식의 사용자가 추가 기능을 작성할 수 있도록 자동화를 지원하는 MPF의 클래스를 나열합니다.

클래스 이름
Microsoft.VisualStudio.Package.Automation.OAProject
Microsoft.VisualStudio.Package.Automation.OANavigableProjectItems
Microsoft.VisualStudio.Package.Automation.OAProjectItems
Microsoft.VisualStudio.Package.Automation.OAProjectItem
Microsoft.VisualStudio.Package.Automation.OANestedProjectItem

속성 클래스

다음 표에서는 프로젝트 형식이 사용자가 속성 브라우저에서 찾아보고 수정할 수 있는 속성을 추가할 수 있도록 하는 MPF의 클래스를 나열합니다.

클래스 이름
Microsoft.VisualStudio.Package.LocalizableProperties
Microsoft.VisualStudio.Package.NodeProperties
Microsoft.VisualStudio.Package.FileNodeProperties
Microsoft.VisualStudio.Package.ProjectNodeProperties
Microsoft.VisualStudio.Package.FolderNodeProperties
Microsoft.VisualStudio.Package.ReferenceNodeProperties