Utilisation de l’infrastructure de package gérée pour implémenter un type de projet (C#)

Managed Package Framework (MPF) fournit des classes C# que vous pouvez utiliser ou hériter pour implémenter vos propres types de projet. Le MPF implémente de nombreuses interfaces que Visual Studio attend d’un type de projet, ce qui vous permet de vous concentrer sur l’implémentation des particularités de votre type de projet.

Utilisation du code source du projet MPF

Managed Package Framework for Projects (MPFProj) fournit des classes d’assistance pour la création et la gestion du nouveau système de projet. Contrairement aux autres classes du MPF, les classes de projet ne sont pas incluses dans les assemblys fournis avec Visual Studio. Au lieu de cela, les classes de projet sont fournies en tant que code source dans MPF pour Projects 2013.

Pour ajouter ce projet à votre solution VSPackage, procédez comme suit :

  1. Téléchargez les fichiers MPFProj sur MPFProjectDir.

  2. Dans le fichier MPFProjectDir\Dev10\Src\CSharp\ProjectBase.file, modifiez le bloc suivant :

    <!-- Provide a default value for $(ProjectBasePath) -->
    <PropertyGroup>
      <ProjectBasePath >MPFProjDir\Dev10\Src\CSharp</ProjectBasePath>
    </PropertyGroup>
    
  3. Créez un projet VSPackage.

  4. Déchargez le projet VSPackage.

  5. Modifiez le fichier .csproj VSPackage en ajoutant le bloc suivant avant les autres <Import> blocs :

    <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. Enregistrez le projet.

  7. Fermez et rouvrez la solution VSPackage.

  8. Rouvrez le projet VSPackage. Vous devez voir un nouveau répertoire nommé ProjectBase.

  9. Ajoutez la référence suivante au projet VSPackage :

    Microsoft.Build.Tasks.4.0
    
  10. Créez le projet.

Classes de hiérarchie

Le tableau suivant récapitule les classes du MPFProj qui prennent en charge les hiérarchies de projet. Pour plus d’informations, consultez Hiérarchies dans Visual Studio.

Nom de 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 gestion des documents

Le tableau suivant répertorie les classes du MPF qui prennent en charge la gestion des documents. Pour plus d’informations, consultez Ouverture et enregistrement des éléments de projet.

Nom de classe
Microsoft.VisualStudio.Package.DocumentManager
Microsoft.VisualStudio.Package.FileDocumentManager

Classes de configuration et de sortie

Le tableau suivant répertorie les classes du MPF qui permettent aux types de projet de prendre en charge plusieurs configurations, telles que le débogage et la mise en production, et les collections de sorties de projet. Pour plus d’informations, consultez Gestion des options de configuration.

Nom de classe
Microsoft.VisualStudio.Package.ConfigProvider
Microsoft.VisualStudio.Package.ProjectConfig
Microsoft.VisualStudio.Package.BuildableProjectConfig
Microsoft.VisualStudio.Package.OutputGroup
Microsoft.VisualStudio.Package.ProjectElement

Classes de support Automation

Le tableau suivant répertorie les classes du MPF qui prennent en charge l’automatisation afin que les utilisateurs de votre type de projet puissent écrire des compléments.

Nom de 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 propriétés

Le tableau suivant répertorie les classes du MPF qui permettent aux types de projet d’ajouter des propriétés que les utilisateurs peuvent parcourir et modifier dans un navigateur de propriétés.

Nom de 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