Partilhar via


Usando a estrutura de pacote gerenciado para implementar um tipo de projeto (C#)

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

Usando o código de origem do projeto do MPF

A estrutura de pacote gerenciado para projetos (MPFProj) fornece classes auxiliares para criar e gerenciar o novo sistema de projeto. Ao contrário de outras classes no MPF, as classes do projeto não são incluídas nos assemblies do fornecido com o Visual Studio. Em vez disso, as classes do projeto são fornecidas como código-fonte em MPF para projetos de-Visual Studio.

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

  1. Fazer download dos arquivos de 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>
  1. Crie um projeto VSPackage.

  2. Descarrega o projeto VSPackage.

  3. Editar o arquivo. csproj VSPackage adicionando o seguinte bloco antes da outra <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>
  1. Salve o projeto.

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

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

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

    Microsoft.Build.Tasks.4.0

  5. Crie o projeto.

Classes de hierarquia

A tabela a seguir resume as classes de MPFProj que oferecem suporte a hierarquias de projeto. Para obter mais informações, consulte Seleção e hierarquias.

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 manuseio de documentos

A tabela a seguir lista as classes no MPF que suportam o manuseio de documentos. Para obter mais informações, consulte Abrir e salvar os itens de projeto.

Nome da classe

Microsoft.VisualStudio.Package.DocumentManager

Microsoft.VisualStudio.Package.FileDocumentManager

Configuração e Classes de saída

A tabela a seguir lista as classes no MPF que permitem tipos de projeto para oferecer suporte a várias configurações, como debug e release 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 de automação

A tabela a seguir lista as classes que oferecem suporte a automação para que os usuários de seu tipo de projeto podem gravar macros e suplementos no MPF.

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 adicionar propriedades que os usuários podem procurar e modificar em um navegador de propriedade.

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