Ajouter un attribut à un élément de projet

Les méthodes GetItemAttribute et obtenir et SetItemAttribute définir la valeur des attributs d’un élément de projet. SetItemAttribute crée l’attribut s’il n’existe pas déjà, en l’ajoutant aux métadonnées de l’élément de projet.

Ajouter un attribut à un élément de projet

  • Le code suivant utilise l’objet DTE Automation et la SetItemAttribute méthode pour ajouter un attribut à un élément de projet. L’ID de l’élément de projet est obtenu à partir du nom de l’élément de projet « program.cs ». L’attribut « MyAttribute » est ajouté à cet élément de projet et en fonction de la valeur « MyValue ».

    EnvDTE.DTE dte = (EnvDTE.DTE)Package.GetGlobalService(typeof(EnvDTE.DTE));
    EnvDTE.Project project = dte.Solution.Projects.Item(1);
    
    string uniqueName = project.UniqueName;
    IVsSolution solution = (IVsSolution)Package.GetGlobalService(typeof(SVsSolution));
    IVsHierarchy hierarchy;
    solution.GetProjectOfUniqueName(uniqueName, out hierarchy);
    IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage;
    if (buildPropertyStorage != null)
    {
        uint itemId;
        string fullPath = (string)project.ProjectItems.Item("Program.cs").Properties.Item("FullPath").Value;
        hierarchy.ParseCanonicalName(fullPath, out itemId);
        buildPropertyStorage.SetItemAttribute(itemId, "MyAttribute", "MyValue");
    }