Hinzufügen eines Attributs zu einem Projektelement

Die Methoden GetItemAttribute und das Abrufen und SetItemAttribute Festlegen des Werts der Attribute eines Projektelements. SetItemAttribute erstellt das Attribut, wenn es noch nicht vorhanden ist, und fügt es den Projektelementmetadaten hinzu.

Hinzufügen eines Attributs zu einem Projektelement

  • Der folgende Code verwendet das DTE Automatisierungsobjekt und die SetItemAttribute Methode, um einem Projektelement ein Attribut hinzuzufügen. Die Projektelement-ID wird aus dem Projektelementnamen "program.cs" abgerufen. Das Attribut "MyAttribute" wird diesem Projektelement und dem Wert "MyValue" hinzugefügt.

    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");
    }