Пространство имен 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 право.
Классы
Перечисления
Перечисление | Описание | |
---|---|---|
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 для чтения коллекции опубликованных проектов.
При разработке на удаленном компьютере скопируйте следующие сборки из загружаемого пакета 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
В Visual Studio 2012Создайте консольное приложение. В этом примере имя приложения ReadProjectList. В диалоговом окне Новый проект задайте целевой платформы .NET Framework4.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);
}
}
}