Agregar un atributo a un elemento de proyectoAdd an attribute to a project item

Los métodos GetItemAttribute y SetItemAttribute obtener y establecer el valor de los atributos de un elemento de proyecto.The methods GetItemAttribute and SetItemAttribute get and set the value of the attributes of a project item. SetItemAttribute crea el atributo si ya no existe, éste se agrega a los metadatos de elemento de proyecto.SetItemAttribute creates the attribute if it does not already exist, adding it to the project item metadata.

Agregar un atributo a un elemento de proyectoAdd an attribute to a project item

  • El siguiente código utiliza el DTE objeto de automatización y la SetItemAttribute para agregar un atributo a un elemento de proyecto.The following code uses the DTE automation object and the SetItemAttribute method to add an attribute to a project item. El identificador de elemento de proyecto se obtiene del nombre de elemento de proyecto "program.cs".The project item ID is obtained from the project item name "program.cs". El atributo "MyAttribute" se agrega a este elemento de proyecto y se le asigna el valor "MyValue".The attribute "MyAttribute" is added to this project item and given the value "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");  
    }  
    

Vea tambiénSee also

Conservar los datos en el archivo de proyecto de MSBuildPersist data in the MSBuild project file