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:
Fazer download dos arquivos de MPFProj para MPFProjectDir.
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>
Crie um projeto VSPackage.
Descarrega o projeto VSPackage.
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>
Salve o projeto.
Feche e reabra a solução VSPackage.
Reabra o projeto VSPackage. Você verá um novo diretório chamado ProjectBase.
Adicione a seguinte referência ao projeto VSPackage:
Microsoft.Build.Tasks.4.0
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 |