プロジェクト項目に属性を追加する
GetItemAttribute と SetItemAttribute のメソッドは、プロジェクト項目の属性の値を取得し設定します。 SetItemAttribute では、属性がまだ存在しない場合に属性を作成し、プロジェクト項目メタデータに追加します。
プロジェクト項目に属性を追加する
次のコードでは、DTE オートメーション オブジェクトと SetItemAttribute メソッドを使用して、プロジェクト項目に属性を追加します。 プロジェクト項目 ID は、プロジェクト項目名 "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"); }