다음을 통해 공유


프로젝트 항목에 특성 추가

메서드 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");
    }