如何更改 Project Server 2013 中自定义字段的值(C# VSTO 加载项)

How to change the value of a custom field in Project Server 2013 (C# VSTO AddIn)

我正尝试从用 C# 编写的 MS 项目插件中 update/change 项目的企业自定义字段。 我找到了有关如何在任务或资源级别更新企业自定义字段的信息:

MSProject.Task t = ....;
t.SetField(Application.FieldNameToFieldConstant("xyz"),"value");

但我根本找不到关于如何在项目级别为自定义字段执行此操作的任何文档或示例。

也许我只是使用了错误的搜索词组。我尝试 google 不同的关键字,如项目 header 字段和类似的词,但一无所获。

我倾向于认为这可能是不可能的?

经过数小时的搜索,我终于找到了解决方案。一旦你知道它是如何完成的,它实际上非常简单。

该项目有一个摘要任务,其中包含该项目的所有自定义字段。

MSProject.Project proj = ...;
var field = proj.Application.FieldNameToFieldConstant("field_name", MSProject.PjFieldType.pjProject);
proj.ProjectSummaryTask.SetField(field, "value");