Compartilhar via


Usando a Estrutura de Pacote Gerenciado para implementar um tipo de projeto (C#)

O MPF (Managed Package Framework) fornece classes C# das quais você pode usar ou herdar para implementar seus próprios tipos de projeto. O MPF implementa muitas das interfaces que o Visual Studio espera que um tipo de projeto forneça, deixando você livre para se concentrar na implementação das particularidades do seu tipo de projeto.

Usando o código-fonte do projeto do MPF

O MPFProj (Managed Package Framework for Projects) fornece classes auxiliares para criar e gerenciar um novo sistema de projetos. Ao contrário de outras classes no MPF, as classes de projeto não são incluídas nos assemblies enviados com o Visual Studio. Em vez disso, as classes de projeto são fornecidas como código-fonte no MPF for Projects 2013.

Para adicionar este projeto à sua solução VSPackage, faça o seguinte:

  1. Baixe os arquivos MPFProj para MPFProjectDir.

  2. No MPFProjectDir\Dev10\Src\CSharp\ProjectBase.file, altere o seguinte bloco:

    <!-- Provide a default value for $(ProjectBasePath) -->
    <PropertyGroup>
      <ProjectBasePath >MPFProjDir\Dev10\Src\CSharp</ProjectBasePath>
    </PropertyGroup>
    
  3. Crie um projeto VSPackage.

  4. Descarregue o projeto VSPackage.

  5. Edite o arquivo .csproj do VSPackage adicionando o seguinte bloco antes dos outros <Import> blocos:

    <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. Salve o projeto.

  7. Feche e reabra a solução VSPackage.

  8. Reabra o projeto VSPackage. Você deverá ver um novo diretório chamado ProjectBase.

  9. Adicione a seguinte referência ao projeto VSPackage:

    Microsoft.Build.Tasks.4.0
    
  10. Compile o projeto.

Classes de hierarquia

A tabela a seguir resume as classes no MPFProj que dão suporte a hierarquias de projeto. Para obter mais informações, consulte Hierarquias no Visual Studio.

Nome da classe
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

Classes de Manipulação de Documentos

A tabela a seguir lista as classes no MPF que dão suporte ao tratamento de documentos. Para obter mais informações, consulte Abrir e salvar itens do projeto.

Nome da classe
Microsoft.VisualStudio.Package.DocumentManager
Microsoft.VisualStudio.Package.FileDocumentManager

Classes de configuração e saída

A tabela a seguir lista as classes no MPF que permitem que os tipos de projeto ofereçam suporte a várias configurações, como depuração e versão, e coleções de saída do projeto. Para obter mais informações, consulte Gerenciando opções de configuração.

Nome da classe
Microsoft.VisualStudio.Package.ConfigProvider
Microsoft.VisualStudio.Package.ProjectConfig
Microsoft.VisualStudio.Package.BuildableProjectConfig
Microsoft.VisualStudio.Package.OutputGroup
Microsoft.VisualStudio.Package.ProjectElement

Classes de Suporte à Automação

A tabela a seguir lista as classes no MPF que dão suporte à automação para que os usuários do seu tipo de projeto possam escrever suplementos.

Nome da classe
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

Classes de propriedades

A tabela a seguir lista as classes no MPF que permitem que os tipos de projeto adicionem propriedades que os usuários podem navegar e modificar em um navegador de propriedades.

Nome da classe
Microsoft.VisualStudio.Package.LocalizableProperties
Microsoft.VisualStudio.Package.NodeProperties
Microsoft.VisualStudio.Package.FileNodeProperties
Microsoft.VisualStudio.Package.ProjectNodeProperties
Microsoft.VisualStudio.Package.FolderNodeProperties
Microsoft.VisualStudio.Package.ReferenceNodeProperties