Пространство имен 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 :

    http://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 Для получения дополнительных сведений см Client-side object model (CSOM) for Project Server и программирование с использованием службы SharePoint 2013 REST.
Общий класс AssignmentCreationInformation Загрузка пакета SDK Project 2013 также включает JavaScript файлы и сборки для Project Server CSOM. Если обновление Project Server с помощью пакета обновления следует скопировать обновленные сборки и JavaScript файлов на компьютере разработчика.
Общий класс BaseCalendarException Основной сущности Project Server, обычно представлены в CSOM шесть классов, например:
Общий класс Calendar Базовый класс, такие как Assignment, содержит общие свойства для сущности черновиков и опубликованных сущности.
Общий класс CalendarCollection Создание класса информации, например, AssignmentCreationInformationсодержит свойства, которые используются для создания сущности.
Общий класс CalendarCreationInformation Проект класса, таких как DraftAssignment, включает в себя свойства чтения/записи, которые представляют сущности для редактирования.
Общий класс CalendarException Опубликованные класса, например PublishedAssignment, включает в себя свойства только для чтения, которые представляют опубликованные сущности.
Общий класс CalendarExceptionCollection Коллекции класса проекта, например DraftAssignmentCollection, включает в себя метод Add для добавления сущности проекта в коллекции, метод GetById для получения определенной сущности для редактирования и метод Remove для удаления сущности.
Общий класс CalendarExceptionCreationInformation Опубликованные коллекции класса, например PublishedAssignmentCollection, обычно включает в себя метод GetById для получения определенных сущностей для чтения или извлечение для редактирования.
Общий класс CustomField Содержит свойства и методы, используемые для создания корпоративных настраиваемых полей.
Общий класс CustomFieldCollection Представляет коллекцию объектов CustomField .
Общий класс CustomFieldCreationInformation Предоставляет сведения, используемые при создании настраиваемого поля.
Общий класс DraftAssignment Позволяет создавать назначения черновика для проекта.
Общий класс DraftAssignmentCollection Представляет коллекцию объектов DraftAssignment .
Общий класс DraftProject Представляет черновик проект, который является, извлеченного проекта.
Общий класс DraftProjectResource Представляет корпоративный ресурс в извлеченных проектов.
Общий класс DraftProjectResourceCollection Представляет коллекцию объектов DraftProjectResource .
Общий класс DraftTask Представляет задачу в извлеченных проектов.
Общий класс DraftTaskCollection Представляет коллекцию объектов DraftTask .
Общий класс DraftTaskLink Создает объект для доступа к ссылки на задачи в проекте черновиков.
Общий класс DraftTaskLinkCollection Представляет коллекцию объектов DraftTaskLink .
Общий класс EnterpriseProjectType Создает объект, представляющий тип корпоративного проекта.
Общий класс EnterpriseProjectTypeCollection Представляет коллекцию объектов EnterpriseProjectType (типа корпоративного проекта).
Общий класс EnterpriseProjectTypeCreationInformation Предоставляет сведения для создания типа корпоративного проекта (типа корпоративного проекта).
Общий класс 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 Представляет коллекцию объектов назначения плана.
Общий класс PlanAssignmentCreationInformation Предоставляет сведения для создания объекта PlanAssignment .
Общий класс PlanAssignmentInterval Представляет коллекцию временных интервалов для назначения плана проекта.
Общий класс PlanAssignmentIntervalCollection Представляет коллекцию объектов PlanAssignmentInterval .
Общий класс PlanAssignmentIntervalCreationInformation Предоставляет сведения, которые используются для создания объектов PlanAssignmentInterval .
Общий класс Project Содержит общие свойства для проектов черновиков и опубликованных проектов.
Общий класс ProjectCollection Представляет коллекцию объектов PublishedProject .
Общий класс ProjectContext Сохраняет контекст со стороны клиента для разработки с экземпляром Project Web App и содержит предприятию коллекции объектов Project Server, существующих в Project Web App.
Общий класс 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 Ставит в очередь project для публикации.
Общий класс 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 Предоставляет свойства и методы для создания объекта назначения состояние.
Общий класс StatusTask Предоставляет объект, который отслеживает ход выполнения задачи.
Общий класс StatusTaskCreationInformation Предоставляет свойства и методы для создания объекта состояния задачи.
Общий класс Task Содержит методы и свойства, которые могут использоваться для доступа к сведения о задаче.
Общий класс TaskCreationInformation Предоставляет свойства и методы, используемые для создания задачи.
Общий класс TaskLink Представляет отношения зависимости между даты начала и окончания две задачи.
Общий класс TaskLinkCreationInformation Предоставляет свойства и методы, которые используются для создания связи задач.
Общий класс TimePhase Представляет сведения о ходе выполнения назначения, распределенные по времени.
Общий класс TimeSheet Содержит методы и свойства для управления расписания.
Общий класс TimeSheetLine Представляет строки в расписании.
Общий класс TimeSheetLineCollection Представляет коллекцию строк расписания.
Общий класс TimeSheetLineCreationInformation Предоставляет свойства и методы, которые используются для создания строки расписания.
Общий класс TimeSheetPeriod Представляет за определенный период времени в расписание.
Общий класс TimeSheetPeriodCollection Представляет коллекцию объектов TimeSheetPeriod .
Общий класс TimeSheetWork Представляет различные типы работы в расписание.
Общий класс TimeSheetWorkCollection Содержит коллекцию элементов фактические трудозатраты для расписания.
Общий класс TimeSheetWorkCreationInformation Предоставляет свойства и методы, используемые для создания объекта рабочего расписания.
Общий класс WorkflowActivities Содержит методы, которые инкапсулируют действий рабочего процесса Project Server и методы, для использования с версией 4 Windows Workflow Foundation (WF4).
Общий класс 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 = "http://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