Поделиться через


Пространство имен Microsoft.ProjectServer.Client

Классы из этого пространства имен определяют клиентскую объектную модель (CSOM) для Microsoft Project Server 2013.

CSOM доступен в обоих Project Online и из локальной установки Project Server, через пространство имен Microsoft.Project.Server.Client . Project Server CSOM — это должна быть относительно простой в использовании API, который использует или предоставляет данные по имени, а не путем передачи наборов данных или с помощью параметров changeXml напрямую. CSOM реализует основные функциональные возможности в Project Server интерфейс (PSI) для основных сущностей, например ProjectTask, EnterpriseResourceи Assignment. Она включает в себя дополнительные сущности, такие как CustomField, LookupTable, WorkflowActivities, EventHandlerи QueueJob, которые поддерживают другие общие функциональные возможности Project Server.

CSOM — это API-интерфейс, который является надстройкой PSI; Он не заменить 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 в разделе библиотеки классов и веб-службы ссылки из Project 2013 SDK документов управляемого кода для общего развития.NET 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

  • Как файл, используемый для разработки веб-приложений с помощью JavaScript: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js или PS.debug.js

    JavaScript ссылки на CSOM см JavaScript API reference for Project Server 2013.

  • Веб-приложения можно также получить доступ к CSOM через REST. К примеру можно использовать следующий запрос для получения данных для всех проектов в экземпляре Project Web App :

    https://ServerName/ProjectServerName/_api/ProjectServer/Projects
    

    Для получения дополнительных сведений см Client-side object model (CSOM) for Project Server и программирование с использованием службы SharePoint 2013 REST.

Загрузка пакета SDK Project 2013 также включает JavaScript файлы и сборки для Project Server CSOM. Если обновление Project Server с помощью пакета обновления следует скопировать обновленные сборки и JavaScript файлов на компьютере разработчика.

Основной сущности Project Server, обычно представлены в CSOM шесть классов, например:

  • Базовый класс, такие как Assignment, содержит общие свойства для сущности черновиков и опубликованных сущности.

  • Создание класса информации, например, AssignmentCreationInformationсодержит свойства, которые используются для создания сущности.

  • Проект класса, таких как DraftAssignment, включает в себя свойства чтения/записи, которые представляют сущности для редактирования.

  • Опубликованные класса, например PublishedAssignment, включает в себя свойства только для чтения, которые представляют опубликованные сущности.

  • Коллекции класса проекта, например DraftAssignmentCollection, включает в себя метод Add для добавления сущности проекта в коллекции, метод GetById для получения определенной сущности для редактирования и метод Remove для удаления сущности.

  • Опубликованные коллекции класса, например PublishedAssignmentCollection, обычно включает в себя метод GetById для получения определенных сущностей для чтения или извлечение для редактирования.

Класс ProjectContext и классов ProjectServer каждый клиентский контекст для разработки приложений для сохранения и содержат коллекции сущности, которые доступны во всем мире в экземпляре Project Web App , например Projects, EnterpriseResources, EnterpriseProjectTypes, CustomFields, LookupTablesи Events. Так как класс ProjectServer обеспечивается для внутреннего использования клиентских объектов, приложения должны использовать класс ProjectContext инициализируется Project Web App пути.

Простой пример программирование с использованием CSOM можно найти в примере раздел далее на этой странице. Дополнительные сведения о разработке с CSOM см Клиентская объектная модель (CSOM) для Project 2013. Ссылка управляемого кода в Project 2013 SDK содержит основные описания и примечания для свойства сущностей, которые также описаны в классы для указания пространств имен в PSI. Получить подробные сведения о свойствах сущностей просмотреть Доступные поля Ссылка.

CSOM для Project Server 2013 построен на CSOM для SharePoint Foundation 2013. Дополнительные сведения см.в Выбор API в SharePoint 2013 право.

Классы

  Класс Описание
Общий класс Assignment
Общий класс AssignmentCreationInformation
Общий класс BaseCalendarException
Общий класс Calendar
Общий класс CalendarCollection
Общий класс CalendarCreationInformation
Общий класс CalendarException
Общий класс CalendarExceptionCollection
Общий класс CalendarExceptionCreationInformation
Общий класс CustomField
Общий класс CustomFieldCollection
Общий класс CustomFieldCreationInformation
Общий класс DraftAssignment
Общий класс DraftAssignmentCollection
Общий класс DraftProject
Общий класс DraftProjectResource
Общий класс DraftProjectResourceCollection
Общий класс DraftTask
Общий класс DraftTaskCollection
Общий класс DraftTaskLink
Общий класс DraftTaskLinkCollection
Общий класс EnterpriseProjectType
Общий класс EnterpriseProjectTypeCollection
Общий класс EnterpriseProjectTypeCreationInformation
Общий класс EnterpriseResource
Общий класс EnterpriseResourceCollection
Общий класс EnterpriseResourceCreationInformation
Общий класс EntityType
Общий класс EntityTypes
Общий класс Event
Общий класс EventCollection
Общий класс EventHandler
Общий класс EventHandlerCollection
Общий класс EventHandlerCreationInformation
Общий класс LookupCost
Общий класс LookupDate
Общий класс LookupDuration
Общий класс LookupEntry
Общий класс LookupEntryCollection
Общий класс LookupEntryCreationInformation
Общий класс LookupEntryValue
Общий класс LookupMask
Общий класс LookupNumber
Общий класс LookupTable
Общий класс LookupTableCollection
Общий класс LookupTableCreationInformation
Общий класс LookupTables
Общий класс LookupText
Общий класс Phase
Общий класс PhaseCollection
Общий класс PhaseCreationInformation
Общий класс PlanAssignment
Общий класс PlanAssignmentCollection
Общий класс PlanAssignmentCreationInformation
Общий класс PlanAssignmentInterval
Общий класс PlanAssignmentIntervalCollection
Общий класс PlanAssignmentIntervalCreationInformation
Общий класс Project
Общий класс ProjectCollection
Общий класс ProjectContext
Общий класс ProjectCreationInformation
Общий класс ProjectDetailPage
Общий класс ProjectDetailPageCollection
Общий класс ProjectDetailPageCreationInformation
Общий класс ProjectResource
Общий класс ProjectResourceCreationInformation
Общий класс ProjectServer
Общий класс ProjectServerData
Общий класс PublishedAssignment
Общий класс PublishedAssignmentCollection
Общий класс PublishedProject
Общий класс PublishedProjectResource
Общий класс PublishedProjectResourceCollection
Общий класс PublishedTask
Общий класс PublishedTaskCollection
Общий класс PublishedTaskLink
Общий класс PublishedTaskLinkCollection
Общий класс QueueJob
Общий класс QueueJobCollection
Общий класс ResourceCalendarException
Общий класс ResourcePlan
Общий класс ScriptTypeFactory
Общий класс ServiceStatus
Общий класс Stage
Общий класс StageCollection
Общий класс StageCreationInformation
Общий класс StageCustomField
Общий класс StageCustomFieldCollection
Общий класс StageCustomFieldCreationInformation
Общий класс StageDetailPage
Общий класс StageDetailPageCollection
Общий класс StageDetailPageCreationInformation
Общий класс StatusAssignment
Общий класс StatusAssignmentCollection
Общий класс StatusAssignmentCreationInformation
Общий класс StatusTask
Общий класс StatusTaskCreationInformation
Общий класс Task
Общий класс TaskCreationInformation
Общий класс TaskLink
Общий класс TaskLinkCreationInformation
Общий класс TimePhase
Общий класс TimeSheet
Общий класс TimeSheetLine
Общий класс TimeSheetLineCollection
Общий класс TimeSheetLineCreationInformation
Общий класс TimeSheetPeriod
Общий класс TimeSheetPeriodCollection
Общий класс TimeSheetWork
Общий класс TimeSheetWorkCollection
Общий класс TimeSheetWorkCreationInformation
Общий класс WorkflowActivities
Общий класс 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. При разработке на удаленном компьютере скопируйте следующие сборки из загружаемого пакета SDK для Project 2013 или %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI на компьютере сервера Project Server в папку на компьютере разработчика:

    • Microsoft.ProjectServer.Client.dll

    • Microsoft.SharePoint.Client.dll

    • Microsoft.SharePoint.Client.Runtime.dll

  2. В Visual Studio 2012Создайте консольное приложение. В этом примере имя приложения ReadProjectList. В диалоговом окне Новый проект задайте целевой платформы .NET Framework4.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