Agrega un atributo a un elemento de proyectoAdding 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 aún 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.

Agrega un atributo a un elemento de proyectoAdding an attribute to a project item

Para agregar un atributo a un elemento de proyectoTo add an attribute to a project item

  • El siguiente código utiliza el DTE el objeto de automatización y la SetItemAttribute método 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

Conservación de datos en el archivo de proyecto de MSBuildPersisting Data in the MSBuild Project File