Добавление атрибута в элемент проекта
Методы GetItemAttribute и получение и SetItemAttribute установка значения атрибутов элемента проекта. SetItemAttribute создает атрибут, если он еще не существует, добавив его в метаданные элемента проекта.
Добавление атрибута в элемент проекта
Следующий код использует DTE объект автоматизации и SetItemAttribute метод для добавления атрибута в элемент проекта. Идентификатор элемента проекта получен из имени элемента проекта program.cs. Атрибут MyAttribute добавляется в этот элемент проекта и получает значение 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"); }