【发布时间】:2014-05-01 21:15:06
【问题描述】:
Project API 允许您列出项目使用
ProjectDataSet data = client.ReadProjectList();
foreach (ProjectDataSet.ProjectRow projectRow in data.Project){...}
此 API 调用存在缺陷,因为它从工作存储返回所有项目,而不是已发布存储。您似乎希望根据已发布的商店检查每个项目的 GUID,这非常慢。
int i = projectRow.PROJ_TYPE;
if (i == 0){
ProjectDataSet publishedProjectDataSet = client.ReadProject(projectRow.PROJ_UID, DataStoreEnum.PublishedStore);
if (publishedProjectDataSet == null) { continue; }
}
是否有人知道如何快速仅列出已发布的项目?
【问题讨论】:
-
我们为此使用数据库查询。我知道微软不建议直接访问他们的数据库,但是编写一个简单的选择语句比使用 API 调用做所有的矫枉过正更快、更容易。
标签: c# api ms-project psi