Microsoft.ProjectServer.Client namespace
這個命名空間中的類別定義Microsoft Project Server 2013的用戶端物件模型 (CSOM)。
CSOM 是從兩個Project Online和透過Microsoft.Project.Server.Client命名空間上場所 Project Server 安裝可存取。專案伺服器 CSOM 被設計為相當容易使用的 API,直接使用或提供名稱,而非傳遞資料集或使用changeXml參數的資料。CSOM 實作的主要功能的專案伺服器介面 (PSI) 的主要的實體,例如Project、 Task、 EnterpriseResource和Assignment。它包含額外的實體,例如CustomField、 LookupTable、 WorkflowActivities、 EventHandler和QueueJob,它支援其他通用專案伺服器功能。
CSOM 是建置於 PSI ; API它不會取代 PSI 或實作的所有 PSI 功能。CSOM 可以存取下列方式:
為組件使用 Microsoft.NET Framework 4.0: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll
Microsoft.ProjectServer.Client中的命名空間的類別庫和 Web 服務參考 > 一節Project 2013 SDK 文件的一般程式開發的 managed 程式碼。以網路為基礎的 CSOM 應用程式。
為組件来用於開發與Silverlight: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll
為使用 Microsoft Windows Phone 8 的程式開發的應用程式組件: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll
為使用於開發的 web 應用程式的JavaScript檔案: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js或PS.debug.js
CSOM 的JavaScript參考,請參閱JavaScript API reference for Project Server 2013。
Web 應用程式也可以透過其他存取 CSOM。例如,您可以使用下列查詢來取得所有的專案,在Project Web App執行個體中的資料:
https://ServerName/ProjectServerName/_api/ProjectServer/Projects
如需詳細資訊,請參閱Client-side object model (CSOM) for Project Server和程式設計使用 SharePoint 2013 其他服務。
Project 2013 SDK 下載也包含組件和JavaScript檔案的專案伺服器 CSOM。如果您更新 Project Server 的 service pack 時,您應該將更新的組件和JavaScript檔案複製到開發電腦。
在主要的 Project Server 實體通常中被由 CSOM 六個類別,例如:
基底類別,例如Assignment,包含草稿實體和已發行的實體的通用屬性。
建立資訊的類別,例如AssignmentCreationInformation,包含用來建立實體的屬性。
草稿類別,例如DraftAssignment,包含代表編輯實體的讀取/寫入屬性。
已發行的類別,例如PublishedAssignment,包含代表已發行的實體的唯讀屬性。
草稿的集合類別,例如DraftAssignmentCollection,包含要加入集合中, GetById方法,以取得特定的實體進行編輯,而要刪除實體的Remove方法的草稿實體的Add方法。
已發佈的集合類別,例如PublishedAssignmentCollection,通常會包含GetById方法,以取得特定實體讀取或編輯簽出。
ProjectContext類別和ProjectServer類別每維護應用程式開發的用戶端內容,並包含可全域存取Project Web App執行個體,如Projects、 EnterpriseResources、 EnterpriseProjectTypes、 CustomFields、 LookupTables和Events中的實體集合。ProjectServer類別由用戶端物件供內部使用,因為應用程式應該使用ProjectContext類別中,使用Project Web App路徑來初始化。
CSOM 使用程式設計的簡單範例,請參閱範例區段稍後在此頁面。如需有關使用 CSOM 開發的詳細資訊,請參閱Client-side object model (CSOM) for Project Server。Managed 程式碼中的參考Project 2013 SDK 提供基本的說明和註解的實體,也說明了在 PSI 中的命名空間的類別中的屬性。如需有關實體的屬性的詳細資訊,請參閱可用的欄位參考。
內建的Project Server 2013 CSOM SharePoint Foundation 2013的 CSOM 上。如需詳細資訊,請參閱選擇權限的 API 集在 SharePoint 2013。
Classes
Enumerations
Enumeration | Description | |
---|---|---|
AccrueAt | 成本累算] 模式指定如何及何時資源成本分配給任務的成本。 | |
BookingType | 指定如何預訂工作分派的資源。 | |
CalendarRecurrenceDays | 表示星期幾的週期性行事曆例外狀況。 | |
CalendarRecurrenceType | 指定循環型別為行事曆的例外狀況。 | |
CalendarRecurrenceWeek | 指定用來設定排程一個月的一週。 | |
CommittedDecisionResult | 指定是否要將項目包含在最佳化器函式或專案公事包分析計劃的函式。 | |
ConstraintType | 指定任務的限制式類型。 | |
CurrencySymbolPosition | 指定貨幣符號的位置。 | |
CustomFieldRollupType | 指定自訂欄位的摘要彙總類型。 | |
CustomFieldType | 指定企業自訂欄位的型別。 | |
DependencyType | 指定建立兩個任務之間的相依性類型。 | |
EnterpriseResourceType | 代表不同類型的企業資源。 | |
FixedCostAccrual | 指定如何及何時分配給任務成本的固定的成本。 | |
JobState | Project Server 佇列工作狀態指定佇列工作的狀態。 | |
LookupTableConstants | 指定的最大值和查閱資料表實體的最小值。 | |
LookupTableMaskSequence | 指定的遮罩順序,請查閱資料表的資料的型別。 | |
LookupTableSortOrder | 指定查閱資料表的排序順序。 | |
OvertimeRateFormat | 指定的時間單位的資源加班工資率。也就是說,每個時間單位,例如每小時多少元速率。 | |
ProjectDetailPageType | 指定專案詳細資料頁 (PDP) 型別。 | |
ProjectType | 指定專案的類型。 | |
QueueMsgType | 指定佇列的訊息型別,將工作傳送至專案伺服器佇列系統。 | |
ReadyToLeaveProjectStageValue | 在 Project Server 工作流程,以協助您判斷是否準備好離開階段工作流程中指定的專案階段需求。 | |
ResourceType | 指定資源的類型。 | |
StandardRateFormat | 指定的時間單位的資源比率。也就是說,每個時間單位,例如每小時多少元速率。 | |
StrategicImpactBehavior | 指定如何策略在 Project Server 工作流程階段中的值行為的影響。 | |
TaskType | 指定是否在專案中的任務類型固定的固定工時,或固定工期的單位。 | |
TimeScale | 指定的時段式資料的比例。 | |
TimeSheetEntryMode | 包含的時程表項目模式。 | |
TimeSheetLineClass | 表示定義時程表列的不同用途的分類。 | |
TimeSheetLineStatus | 表示可以套用至時程表線條的狀態設定值。 | |
TimeSheetStatus | 表示可以套用至時程表的狀態設定。 | |
TimeSheetValidationType | 指定的時程表線條的驗證型別集合。 | |
TrackingMode | 指定追蹤任務進度的模式。 | |
UpdateProjectStageStatusFieldValue | 在 Project Server 工作流程中指定的專案階段的狀態。 | |
UtilizationType | 指定目前的資源計劃的資源使用的型別。 | |
WorkFormat | 包含值,表示工作格式。 |
Examples
以下是建立一個名為ReadProjectList的Microsoft.ProjectServer.Client命名空間中使用類別來讀取的已發佈的專案集合的簡單的主控台應用程式的步驟。
如果您正在開發遠端電腦上,下列組件從Project 2013 SDK 下載或複製在 Project Server 電腦上的%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI在開發電腦上最方便的資料夾:
Microsoft.ProjectServer.Client.dll
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
在Visual Studio 2012,建立主控台應用程式。這個範例中,命名應用程式ReadProjectList。在 [新增專案] 對話方塊中,設定目標架構為**.NET Framework 4.5**。您也可以使用Visual Studio 2010與**.NET Framework 4** (不要使用**.NET Framework 4 用戶端設定檔**)。
設定的步驟 1 中指定的組件參考。
Program.cs 檔案中的程式碼取代下列程式碼。
注意事項 使用ProjectContext物件,而不是使用ProjectServer物件,您應該設定 CSOM 內容。
請按F5執行應用程式。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ProjectServer.Client;
namespace ReadProjectList
{
class Program
{
private const string pwaPath = "https://ServerName/PwaName/"; // Change the path for Project Web App.
// Set the context for the Project Server CSOM.
private static ProjectContext projContext;
static void Main(string[] args)
{
projContext = new ProjectContext(pwaPath);
// Get the list of published projects in Project Web App.
projContext.Load(projContext.Projects);
projContext.ExecuteQuery();
Console.WriteLine("\nProject ID : Project name : Created date");
foreach (PublishedProject pubProj in projContext.Projects)
{
Console.WriteLine("\n\t{0}\n\t{1} : {2}", pubProj.Id.ToString(), pubProj.Name,
pubProj.CreatedDate.ToString());
}
Console.Write("\nPress any key to exit: ");
Console.ReadKey(false);
}
}
}