Microsoft.ProjectServer.Client 命名空間

這個命名空間中的類別定義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

類別

  類別 描述
公用類別 Assignment 包含草稿及發佈的工作分派的一般的屬性。
公用類別 AssignmentCreationInformation 包含可在建立工作分派時設定的屬性。
公用類別 BaseCalendarException 代表 [基準行事曆例外的集合。
公用類別 Calendar 代表 Project Server 行事曆。
公用類別 CalendarCollection 代表 [行事曆物件的集合。
公用類別 CalendarCreationInformation 代表用來建立新的行事曆的資訊。
公用類別 CalendarException 代表 [基準行事曆差異 (例外狀況)。
公用類別 CalendarExceptionCollection 代表 [行事曆例外的集合。
公用類別 CalendarExceptionCreationInformation 提供在建立的行事曆例外狀況的資訊。
公用類別 CustomField 包含的屬性和方法,可用來建立企業自訂欄位。
公用類別 CustomFieldCollection 代表CustomField物件的集合。
公用類別 CustomFieldCreationInformation 提供用於建立自訂欄位的資訊。
公用類別 DraftAssignment 可讓草稿工作分派的專案的建立。
公用類別 DraftAssignmentCollection 代表DraftAssignment物件的集合。
公用類別 DraftProject 代表專案,這是專案已取出的草稿版本。
公用類別 DraftProjectResource 代表 [企業資源取出專案中。
公用類別 DraftProjectResourceCollection 代表DraftProjectResource物件的集合。
公用類別 DraftTask 代表取出專案中的工作。
公用類別 DraftTaskCollection 代表DraftTask物件的集合。
公用類別 DraftTaskLink 會建立物件,以存取草稿專案中的任務連結。
公用類別 DraftTaskLinkCollection 代表DraftTaskLink物件的集合。
公用類別 EnterpriseProjectType 建立物件,代表 [企業專案類型。
公用類別 EnterpriseProjectTypeCollection 代表EnterpriseProjectType (EPT) 物件的集合。
公用類別 EnterpriseProjectTypeCreationInformation 提供在建立的企業專案類型 (EPT) 的資訊。
公用類別 EnterpriseResource 代表 [資源所管理專案中的 Project Server。
公用類別 EnterpriseResourceCollection 代表EnterpriseResource物件的集合。
公用類別 EnterpriseResourceCreationInformation 提供在建立的企業資源的資訊。
公用類別 EntityType 代表 Project Server 實體類型。
公用類別 EntityTypes 代表 Project Server CSOM 透過公開的實體類型。
公用類別 Event 代表及識別商務物件資料中的變更時,會發生在 Project Server 的活動。
公用類別 EventCollection 代表Event物件的集合。
公用類別 EventHandler 代表識別和 Project Server 事件處理常式的位置。
公用類別 EventHandlerCollection 代表EventHandler物件的集合。
公用類別 EventHandlerCreationInformation 提供在建立事件處理常式的資訊。
公用類別 LookupCost 包含的類型Cost查閱表格的資料值。
公用類別 LookupDate 包含的類型Date查閱表格的資料值。
公用類別 LookupDuration 包含的類型Duration查閱表格的資料值。
公用類別 LookupEntry 代表查閱表格項目。
公用類別 LookupEntryCollection 代表一群LookupEntry物件的查閱表格。
公用類別 LookupEntryCreationInformation 提供建立查閱表格項目的資訊。
公用類別 LookupEntryValue 代表查閱表格項目的值。
公用類別 LookupMask 代表遮罩定義的層級的階層式查閱表格。
公用類別 LookupNumber 包含的類型Number查閱表格的資料值。
公用類別 LookupTable 代表查閱表格。
公用類別 LookupTableCollection 代表LookupTable物件的集合。
公用類別 LookupTableCreationInformation 提供方法及屬性設定為查閱資料表的建立。
公用類別 LookupTables 代表查閱表格定義。
公用類別 LookupText 定義類型Text查閱表格中的項目。
公用類別 Phase 代表一群分組識別專案生命週期中的一組通用的活動的階段。
公用類別 PhaseCollection 代表 [工作流程Phase物件的集合。
公用類別 PhaseCreationInformation 提供方法及屬性設定在建立的工作流程階段中所用的。
公用類別 PlanAssignment 在專案計劃中提供指派的相關資訊。
公用類別 PlanAssignmentCollection 代表一群計劃 assignment 物件。
公用類別 PlanAssignmentCreationInformation 提供的PlanAssignment物件建立的資訊。
公用類別 PlanAssignmentInterval 代表的專案計劃工作分派的時間間隔的集合。
公用類別 PlanAssignmentIntervalCollection 代表PlanAssignmentInterval物件的集合。
公用類別 PlanAssignmentIntervalCreationInformation 提供用於建立PlanAssignmentInterval物件的資訊。
公用類別 Project 包含草稿專案和已發佈的專案的一般的屬性。
公用類別 ProjectCollection 代表PublishedProject物件的集合。
公用類別 ProjectContext 維護Project Web App執行個體,請使用開發用戶端的內容,並包含Project Web App中存在的 Project Server 物件的整個企業的集合。
公用類別 ProjectCreationInformation 包含您可以將建立專案時的屬性。
公用類別 ProjectDetailPage 代表 [專案詳細資料頁面 (PDP),這是網頁組件] 頁面上,建立、 檢視,或是管理Project Web App中專案的屬性。
公用類別 ProjectDetailPageCollection 代表一群專案詳細資料頁面 (Pdp)。
公用類別 ProjectDetailPageCreationInformation 提供用來建立企業專案類型的專案詳細資料頁面 (PDP) 的資訊。
公用類別 ProjectResource 提供專案資源的相關資訊。
公用類別 ProjectResourceCreationInformation 提供屬性設定及建立專案資源實體的方法。
公用類別 ProjectServer 供內部用戶端程式碼。若要初始化的 Project Server CSOM 開發的用戶端內容,請使用ProjectContext
公用類別 ProjectServerData 代表伺服器的連線。
公用類別 PublishedAssignment 代表已發佈專案中的工作分派。
公用類別 PublishedAssignmentCollection 代表一群已發佈的工作分派。
公用類別 PublishedProject 表示 Project Server 發佈的專案。
公用類別 PublishedProjectResource 代表 [企業資源的 Project Server 上發佈。
公用類別 PublishedProjectResourceCollection 代表一群已發佈專案中的資源。
公用類別 PublishedTask 代表已發佈專案中的工作。
公用類別 PublishedTaskCollection 代表一群的已發佈專案中的工作。
公用類別 PublishedTaskLink 代表兩個任務的開始和完成日期之間的相依性關係。
公用類別 PublishedTaskLinkCollection 代表一群已發佈專案中的任務連結。
公用類別 QueueJob 佇列發佈的專案。
公用類別 QueueJobCollection 代表QueueJob物件的集合。
公用類別 ResourceCalendarException 代表 [資源行事曆例外狀況。
公用類別 ResourcePlan 代表高層級查看哪些資源可能需要的專案。
公用類別 ScriptTypeFactory 此類別和其成員是保留給內部使用,而不是用來在您的程式碼中使用。
公用類別 ServiceStatus 提供的 Project Server 服務的狀態資訊。
公用類別 Stage 代表工作階段中的專案工作流程。
公用類別 StageCollection 代表 [工作流程Stage物件的集合。
公用類別 StageCreationInformation 提供方法及屬性,來建立專案工作流程階段。
公用類別 StageCustomField 代表專案階段的自訂欄位。
公用類別 StageCustomFieldCollection 代表一群StageCustomField物件,位於工作流程階段的自訂欄位。
公用類別 StageCustomFieldCreationInformation 提供屬性設定和用以將自訂欄位新增至專案階段資訊的方法。
公用類別 StageDetailPage 代表 [專案詳細資料頁面 (PDP) 的工作流程階段。
公用類別 StageDetailPageCollection 代表一群可見的工作流程階段中的專案詳細資料頁面 (Pdp)。
公用類別 StageDetailPageCreationInformation 提供屬性設定和用以建立專案詳細資料頁面 (PDP) 的工作流程階段的方法。
公用類別 StatusAssignment 提供為工作分派的狀態更新中的物件。
公用類別 StatusAssignmentCollection 代表一群StatusAssignment物件,亦即中的狀態更新工作分派。
公用類別 StatusAssignmentCreationInformation 提供屬性設定及建立狀態 assignment 物件的方法。
公用類別 StatusTask 提供持續追蹤的任務的進度的物件。
公用類別 StatusTaskCreationInformation 提供屬性設定及建立狀態 task 物件的方法。
公用類別 Task 包含方法和屬性,可以用來存取工作的詳細資料。
公用類別 TaskCreationInformation 提供屬性設定和用以建立工作的方法。
公用類別 TaskLink 代表兩個任務的開始和完成日期之間的相依關係。
公用類別 TaskLinkCreationInformation 提供屬性設定和方法,可用來建立的任務連結。
公用類別 TimePhase 代表一段時間的工作分派進度資訊。
公用類別 TimeSheet 包含的方法和屬性,來管理時程表。
公用類別 TimeSheetLine 代表 [時程表中的資料行。
公用類別 TimeSheetLineCollection 代表一群時程表列。
公用類別 TimeSheetLineCreationInformation 提供屬性設定和用以建立時程表列的方法。
公用類別 TimeSheetPeriod 代表已定義的時間,在時程表期間。
公用類別 TimeSheetPeriodCollection 代表TimeSheetPeriod物件的集合。
公用類別 TimeSheetWork 代表不同類型的時程表上的工作。
公用類別 TimeSheetWorkCollection 提供時程表實際工時] 項目集合。
公用類別 TimeSheetWorkCreationInformation 提供屬性設定和用以建立時程表工作物件的方法。
公用類別 WorkflowActivities 包含封裝 Project Server 工作流程活動的方法和方法,為Windows Workflow Foundation (WF4) 第 4 版搭配使用。
公用類別 WorkflowDesigner 會建立可以用來設計工作流程的物件。
公用類別 WorkflowDesignerField 代表建立工作流程設計工具中的欄位。
公用類別 WorkflowDesignerFieldCollection 代表 [企業專案自訂欄位的可用工作流程設計工具中,篩選過的集合。

列舉

  列舉 描述
公用列舉 AccrueAt 成本累算模式指定如何及何時資源成本分配給之任務的成本。
公用列舉 BookingType 指定如何預訂工作分派的資源。
公用列舉 CalendarRecurrenceDays 代表週期性行事曆例外的星期。
公用列舉 CalendarRecurrenceType 指定的行事曆例外循環類型。
公用列舉 CalendarRecurrenceWeek 會指定用來設定排程的月份一週。
公用列舉 CommittedDecisionResult 會指定是否在最佳化工具使用函數或專案產品組合分析的規劃函數中包含項目。
公用列舉 ConstraintType 會指定任務的限制式類型。
公用列舉 CurrencySymbolPosition 會指定在貨幣符號的位置。
公用列舉 CustomFieldRollupType 會指定自訂欄位的摘要彙總類型。
公用列舉 CustomFieldType 指定企業自訂欄位的類型。
公用列舉 DependencyType 指定建立兩個任務之間的相依性的類型。
公用列舉 EnterpriseResourceType 代表 [企業資源的不同類型。
公用列舉 FixedCostAccrual 指定如何及何時內之任務的成本來固定的成本。
公用列舉 JobState Project Server 佇列工作狀態指定佇列工作的狀態。
公用列舉 LookupTableConstants 指定的最大值與查閱表格實體的最小值。
公用列舉 LookupTableMaskSequence 會指定遮罩順序,這是查閱表格的資料類型。
公用列舉 LookupTableSortOrder 會指定查閱表格的排序順序。
公用列舉 OvertimeRateFormat 會指定資源加班工資率 ; 的時間單位亦即,每時間單位,例如美元每小時工資率。
公用列舉 ProjectDetailPageType 指定專案詳細資料頁面 (PDP) 的類型。
公用列舉 ProjectType 會指定專案類型。
公用列舉 QueueMsgType 指定佇列訊息類型] 中,將工作傳送至 Project Server 佇列系統。
公用列舉 ReadyToLeaveProjectStageValue 指定 Project Server 工作流程,以協助您判斷是否已準備好離開階段工作流程專案階段需求。
公用列舉 ResourceType 會指定類型的資源。
公用列舉 StandardRateFormat 會指定資源率 ; 的時間單位亦即,每時間單位,例如美元每小時工資率。
公用列舉 StrategicImpactBehavior 會指定如何策略影響值中的 Project Server 工作流程階段行為。
公用列舉 TaskType 會指定是否在專案中的任務類型固定單位,固定工時,或固定工期。
公用列舉 TimeScale 會指定時段式資料的縮放比例。
公用列舉 TimeSheetEntryMode 包含時程表項目模式。
公用列舉 TimeSheetLineClass 代表定義時程表列不同用途的分類。
公用列舉 TimeSheetLineStatus 代表可以套用至時程表列的狀態設定。
公用列舉 TimeSheetStatus 代表可以套用至時程表的狀態設定。
公用列舉 TimeSheetValidationType 指定的時程表列的驗證類型。
公用列舉 TrackingMode 會指定用於追蹤任務進度模式。
公用列舉 UpdateProjectStageStatusFieldValue 在 Project Server 工作流程中指定專案階段的狀態。
公用列舉 UtilizationType 會指定用於目前的資源計劃的資源類型。
公用列舉 WorkFormat 會包含一個值,代表工時格式。

範例

以下是建立一個名為ReadProjectList的Microsoft.ProjectServer.Client命名空間中使用類別來讀取的已發佈的專案集合的簡單的主控台應用程式的步驟。

  1. 如果您正在開發遠端電腦上,下列組件從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

  2. 在Visual Studio 2012,建立主控台應用程式。這個範例中,命名應用程式ReadProjectList。在 [新增專案] 對話方塊中,設定目標架構為**.NET Framework 4.5**。您也可以使用Visual Studio 2010與**.NET Framework 4** (不要使用**.NET Framework 4 用戶端設定檔**)。

  3. 設定的步驟 1 中指定的組件參考。

  4. Program.cs 檔案中的程式碼取代下列程式碼。

    注意事項注意事項

    使用ProjectContext物件,而不是使用ProjectServer物件,您應該設定 CSOM 內容。

  5. 請按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);
        }
    }
}

請參閱

參照

其他資源

Client-side object model (CSOM) for Project Server

JavaScript API reference