向项目项添加属性

方法和GetItemAttributeSetItemAttribute获取和设置项目项的属性的值。 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");
    }