Microsoft.ProjectServer.Client namespace
Classes neste namespace definem o modelo de objeto do lado do cliente (CSOM) para Microsoft Project Server 2013.
O CSOM está acessível de ambos os Project Online em uma instalação do Project Server no local, por meio do namespace Microsoft.Project.Server.Client . O Project Server CSOM foi projetado para ser uma API relativamente fácil de usar que consome diretamente ou fornece dados pelo nome, em vez de ao passar datasets ou usando os parâmetros de changeXml . O CSOM implementa a funcionalidade principal do Project Server Interface (PSI) para as entidades principais, como Project, Task, EnterpriseResourcee Assignment. Ele inclui entidades adicionais, como CustomField, LookupTable, WorkflowActivities, EventHandlere QueueJob, que oferece suporte a outras funcionalidades comuns do Project Server.
O CSOM é uma API que se baseia no PSI; Não substitua o PSI ou implementar todas as funcionalidades do PSI. O CSOM pode ser acessado das seguintes maneiras:
Como um assembly para usar com o Microsoft.NET Framework 4.0: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll
O namespace Microsoft.ProjectServer.Client na seção de referência de serviço Web de Project 2013 SDK e biblioteca de classe documenta o código gerenciado para o desenvolvimento geral de.Aplicativos CSOM NET.
Como um assembly a ser usado para o desenvolvimento com Silverlight: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll
Como um assembly a ser usado para o desenvolvimento de aplicativos para o Microsoft Windows Phone 8: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll
Como um arquivo a ser usado para o desenvolvimento de aplicativos web com o JavaScript: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js ou PS.debug.js
Para a referência de JavaScript para o CSOM, consulte JavaScript API reference for Project Server 2013.
Um aplicativo da web também pode acessar o CSOM restante. Por exemplo, você pode usar a seguinte consulta para obter dados para todos os projetos em uma instância de Project Web App :
https://ServerName/ProjectServerName/_api/ProjectServer/Projects
Para obter mais informações, consulte Client-side object model (CSOM) for Project Server e programação usando o serviço do SharePoint 2013 REST.
O download do SDK Project 2013 também inclui os módulos (assemblies) e arquivos de JavaScript para o CSOM de servidor de projeto. Se você atualizar o Project Server com o service pack, você deve copiar os arquivos de JavaScript e conjuntos atualizados para seu computador de desenvolvimento.
As entidades principais do Project Server são geralmente representadas no CSOM por seis classes, por exemplo:
A classe base, como Assignment, contém as propriedades comuns para a entidade de rascunho e a entidade publicada.
A classe de informações de criação, como AssignmentCreationInformation, contém as propriedades que são usadas para criar uma entidade.
A classe de rascunho, como DraftAssignment, que inclui as propriedades de leitura/gravação que representam a entidade para edição.
Classe publicado, como PublishedAssignment, que inclui as propriedades somente leitura que representam a entidade publicada.
A classe de coleção de rascunho, como DraftAssignmentCollection, inclui o método Add para adicionar uma entidade de rascunho para a coleção, o método GetById para obter uma entidade específica para a edição e o método Remove para excluir uma entidade.
A classe de coleção publicados, como PublishedAssignmentCollection, geralmente inclui o método GetById para obter uma entidade específica para leitura ou para fazer check-out para editar.
A classe ProjectContext e a classe de ProjectServer cada manter o contexto de cliente para o desenvolvimento de aplicativos e contêm coleções de entidades globalmente podem ser acessados em uma instância de Project Web App , como Projects, EnterpriseResources, EnterpriseProjectTypes, CustomFields, LookupTablese Events. Porque a classe ProjectServer é fornecida para uso interno por objetos do lado do cliente, os aplicativos devem usar a classe ProjectContext , que é inicializada com o caminho Project Web App .
Para um exemplo simples de programação com o CSOM, consulte o exemplo mais adiante na seção desta página. Para obter mais informações sobre o desenvolvimento com o CSOM, consulte Client-side object model (CSOM) for Project Server. A referência de código gerenciado no Project 2013 SDK fornece descrições básicas e comentários para as propriedades de entidades, que também são descritas em classes de espaços para nome em PSI. Para obter informações detalhadas sobre as propriedades de entidades, consulte referência de campos disponíveis.
CSOM para Project Server 2013 baseia-se em CSOM para SharePoint Foundation 2013. Para obter mais informações, consulte Escolher à direita do conjunto do SharePoint 2013 API.
Classes
Class | Description | |
---|---|---|
Assignment | Contém as propriedades comuns de atribuições de rascunho e atribuições publicadas. | |
AssignmentCreationInformation | Contém as propriedades que podem ser definidas durante a criação de uma atribuição. | |
BaseCalendarException | Representa a coleção de exceções de calendário base. | |
Calendar | Representa um calendário do Project Server. | |
CalendarCollection | Representa uma coleção de objetos de calendários. | |
CalendarCreationInformation | Representa informações usadas para criar um novo calendário. | |
CalendarException | Representa uma diferença (exceção) do calendário base. | |
CalendarExceptionCollection | Representa uma coleção de exceções de calendário. | |
CalendarExceptionCreationInformation | Fornece informações para a criação de uma exceção do calendário. | |
CustomField | Contém propriedades e métodos que são usados para criar um campo personalizado da empresa. | |
CustomFieldCollection | Representa uma coleção de objetos CustomField . | |
CustomFieldCreationInformation | Fornece informações que são usadas na criação de um campo personalizado. | |
DraftAssignment | Permite a criação de uma atribuição de rascunho para um projeto. | |
DraftAssignmentCollection | Representa uma coleção de objetos DraftAssignment . | |
DraftProject | Representa a versão de rascunho de um projeto, o que é um projeto que está com check-out. | |
DraftProjectResource | Representa um recurso da empresa em um projeto com check-out. | |
DraftProjectResourceCollection | Representa uma coleção de objetos DraftProjectResource . | |
DraftTask | Representa uma tarefa em um projeto com check-out. | |
DraftTaskCollection | Representa uma coleção de objetos DraftTask . | |
DraftTaskLink | Cria um objeto para acessar os links de tarefa em um projeto de rascunho. | |
DraftTaskLinkCollection | Representa uma coleção de objetos DraftTaskLink . | |
EnterpriseProjectType | Cria um objeto que representa um tipo de projeto corporativo. | |
EnterpriseProjectTypeCollection | Representa uma coleção de objetos EnterpriseProjectType (EITAR). | |
EnterpriseProjectTypeCreationInformation | Fornece informações para a criação de um tipo de projeto corporativo (EITAR). | |
EnterpriseResource | Representa um recurso que é gerenciado pelo servidor de projeto em um projeto. | |
EnterpriseResourceCollection | Representa uma coleção de objetos EnterpriseResource . | |
EnterpriseResourceCreationInformation | Fornece informações para a criação de um recurso da empresa. | |
EntityType | Representa um tipo de entidade do Project Server. | |
EntityTypes | Representa os tipos de entidades do Project Server que são expostos por meio de CSOM. | |
Event | Representa e identifica a atividade que ocorre no Project Server quando houver alterações nos dados de objeto comercial. | |
EventCollection | Representa uma coleção de objetos Event . | |
EventHandler | Representa a identificação e a localização de um manipulador de eventos do Project Server. | |
EventHandlerCollection | Representa uma coleção de objetos EventHandler . | |
EventHandlerCreationInformation | Fornece informações para a criação de um manipulador de eventos. | |
LookupCost | Contém um valor de dados para uma tabela de pesquisa do tipo Cost. | |
LookupDate | Contém um valor de dados para uma tabela de pesquisa do tipo Date. | |
LookupDuration | Contém um valor de dados para uma tabela de pesquisa do tipo Duration. | |
LookupEntry | Representa uma entrada de tabela de pesquisa. | |
LookupEntryCollection | Representa uma coleção de objetos LookupEntry para uma tabela de pesquisa. | |
LookupEntryCreationInformation | Fornece informações para a criação de uma entrada de tabela de pesquisa. | |
LookupEntryValue | Representa o valor de uma entrada de tabela de pesquisa. | |
LookupMask | Representa uma definição de máscara para os níveis de uma tabela de pesquisa hierárquica. | |
LookupNumber | Contém um valor de dados para uma tabela de pesquisa do tipo Number. | |
LookupTable | Representa uma tabela de pesquisa. | |
LookupTableCollection | Representa uma coleção de objetos LookupTable . | |
LookupTableCreationInformation | Fornece métodos e configurações de propriedade para a criação de uma tabela de pesquisa. | |
LookupTables | Representa as definições de tabela de pesquisa. | |
LookupText | Define uma entrada em uma tabela de pesquisa do tipo Text. | |
Phase | Representa uma coleção de estágios que são agrupados para identificar um conjunto comum de atividades no ciclo de vida do projeto. | |
PhaseCollection | Representa uma coleção de objetos de Phase de fluxo de trabalho. | |
PhaseCreationInformation | Fornece métodos e configurações de propriedades que são usadas na criação de uma fase de fluxo de trabalho. | |
PlanAssignment | Fornece informações sobre uma atribuição em um plano de projeto. | |
PlanAssignmentCollection | Representa uma coleção de objetos de atribuição do plano. | |
PlanAssignmentCreationInformation | Fornece informações para a criação de um objeto PlanAssignment . | |
PlanAssignmentInterval | Representa a coleção de intervalos de tempo para uma atribuição de plano de projeto. | |
PlanAssignmentIntervalCollection | Representa uma coleção de objetos PlanAssignmentInterval . | |
PlanAssignmentIntervalCreationInformation | Fornece informações que são usadas para a criação de objetos PlanAssignmentInterval . | |
Project | Contém as propriedades comuns para projetos de rascunho e publicado. | |
ProjectCollection | Representa uma coleção de objetos PublishedProject . | |
ProjectContext | Mantém o contexto do lado do cliente para o desenvolvimento com uma instância de Project Web App e contém coleções de objetos do Project Server que existem na Project Web Apptoda a empresa. | |
ProjectCreationInformation | Contém as propriedades que podem ser definidas durante a criação de um projeto. | |
ProjectDetailPage | Representa uma página de detalhes do projeto (PDP), que é uma página de Web Parts para criar, exibir ou gerenciar as propriedades de projetos em Project Web App. | |
ProjectDetailPageCollection | Representa uma coleção de páginas de detalhes do projeto (PDPs). | |
ProjectDetailPageCreationInformation | Fornece informações que são usadas para criar uma página de detalhes do projeto (PDP) para um tipo de projeto corporativo. | |
ProjectResource | Fornece informações sobre um recurso do projeto. | |
ProjectResourceCreationInformation | Fornece configurações de propriedades e métodos para a criação de uma entidade de recurso do projeto. | |
ProjectServer | Usado internamente pelo código do lado do cliente. Para inicializar o contexto de cliente para o desenvolvimento com o Project Server CSOM, use ProjectContext. | |
ProjectServerData | Representa uma conexão a um servidor. | |
PublishedAssignment | Representa a atribuição que está em um projeto publicado. | |
PublishedAssignmentCollection | Representa uma coleção de atribuições publicadas. | |
PublishedProject | Representa um projeto é publicado no Project Server. | |
PublishedProjectResource | Representa um recurso de empresa publicado no Project Server. | |
PublishedProjectResourceCollection | Representa uma coleção de recursos em um projeto publicado. | |
PublishedTask | Representa uma tarefa em um projeto publicado. | |
PublishedTaskCollection | Representa uma coleção de tarefas em um projeto publicado. | |
PublishedTaskLink | Representa uma relação de dependência entre as datas de início e término das tarefas. | |
PublishedTaskLinkCollection | Representa uma coleção de links para tarefas em um projeto publicado. | |
QueueJob | Filas de um projeto para a publicação. | |
QueueJobCollection | Representa uma coleção de objetos QueueJob . | |
ResourceCalendarException | Representa uma exceção do calendário de recursos. | |
ResourcePlan | Representa uma visão de alto nível que recursos podem ser necessárias para um projeto. | |
ScriptTypeFactory | This class and its members are reserved for internal use and are not intended to be used in your code. | |
ServiceStatus | Fornece informações sobre o status do serviço do Project Server. | |
Stage | Representa um estágio do fluxo de trabalho do projeto. | |
StageCollection | Representa uma coleção de objetos de Stage de fluxo de trabalho. | |
StageCreationInformation | Fornece métodos e propriedades que são usadas para criar um estágio de fluxo de trabalho do projeto. | |
StageCustomField | Representa um campo personalizado para um estágio de projeto. | |
StageCustomFieldCollection | Representa uma coleção de objetos de StageCustomField , que são campos personalizados em um estágio do fluxo de trabalho. | |
StageCustomFieldCreationInformation | Fornece configurações de propriedades e métodos que são usados para adicionar um campo personalizado a informações de estágio do projeto. | |
StageDetailPage | Representa uma página de detalhes do projeto (PDP) para um estágio de fluxo de trabalho. | |
StageDetailPageCollection | Representa uma coleção de páginas de detalhes do projeto (PDPs) que são visíveis em um estágio do fluxo de trabalho. | |
StageDetailPageCreationInformation | Fornece configurações de propriedades e métodos que são usados para criar uma página de detalhes do projeto (PDP) para um estágio de fluxo de trabalho. | |
StatusAssignment | Fornece um objeto que é uma atribuição em uma atualização de status. | |
StatusAssignmentCollection | Representa uma coleção de objetos de StatusAssignment , que são as atribuições em uma atualização de status. | |
StatusAssignmentCreationInformation | Fornece configurações de propriedades e métodos para a criação de um objeto de atribuição de status. | |
StatusTask | Fornece um objeto que controla o andamento de uma tarefa. | |
StatusTaskCreationInformation | Fornece configurações de propriedades e métodos para a criação de um objeto de tarefa do status. | |
Task | Contém métodos e propriedades que podem ser usadas para acessar os detalhes da tarefa. | |
TaskCreationInformation | Fornece configurações de propriedades e métodos que são usados para criar uma tarefa. | |
TaskLink | Representa o relacionamento de dependência entre as datas de início e término das tarefas. | |
TaskLinkCreationInformation | Fornece configurações de propriedades e métodos que são usados para criar um vínculo de tarefa. | |
TimePhase | Representa informações de andamento de atribuição são distribuídas ao longo do tempo. | |
TimeSheet | Contém os métodos e propriedades para gerenciar um quadro de horários. | |
TimeSheetLine | Representa uma linha em uma folha de ponto. | |
TimeSheetLineCollection | Representa uma coleção de linhas do quadro de horários. | |
TimeSheetLineCreationInformation | Fornece configurações de propriedades e métodos que são usados para criar uma linha de quadro de horários. | |
TimeSheetPeriod | Representa um período de tempo em um quadro de horários definido. | |
TimeSheetPeriodCollection | Representa uma coleção de objetos TimeSheetPeriod . | |
TimeSheetWork | Representa os diferentes tipos de trabalho em um quadro de horários. | |
TimeSheetWorkCollection | Fornece um conjunto de entradas de trabalho real para uma folha de ponto. | |
TimeSheetWorkCreationInformation | Fornece configurações de propriedades e métodos que são usados para criar um objeto de trabalho do quadro de horários. | |
WorkflowActivities | Contém métodos que encapsulam atividades de fluxo de trabalho do Project Server e métodos, para uso com a versão 4 do Windows Workflow Foundation (WF4). | |
WorkflowDesigner | Cria um objeto que pode ser usado para criar um fluxo de trabalho. | |
WorkflowDesignerField | Representa um campo que é criado em um designer de fluxo de trabalho. | |
WorkflowDesignerFieldCollection | Representa uma coleção filtrada de projeto campos personalizados da empresa que pode ser usado em um designer de fluxo de trabalho. |
Enumerations
Enumeration | Description | |
---|---|---|
AccrueAt | O modo de acumulação de custo Especifica como e quando os custos dos recursos devem ser cobrados no custo de uma tarefa. | |
BookingType | Especifica como os recursos são reservados para atribuições. | |
CalendarRecurrenceDays | Representa os dias da semana para exceções de calendário recorrente. | |
CalendarRecurrenceType | Especifica os tipos de recorrência para uma exceção de calendário. | |
CalendarRecurrenceWeek | Especifica uma semana de um mês que é usada para configurar um agendamento. | |
CommittedDecisionResult | Especifica se um item está incluído em uma função do optimizer ou uma função do Planejador de análise de portfólio do projeto. | |
ConstraintType | Especifica o tipo de restrição para uma tarefa. | |
CurrencySymbolPosition | Especifica a posição do símbolo da moeda. | |
CustomFieldRollupType | Especifica o tipo de acúmulo de resumo para um campo personalizado. | |
CustomFieldType | Especifica o tipo de um campo personalizado da empresa. | |
DependencyType | Especifica o tipo de dependência para estabelecer entre duas tarefas. | |
EnterpriseResourceType | Representa os tipos diferentes de recursos da empresa. | |
FixedCostAccrual | Especifica como e quando os custos fixos devem ser cobrados no custo de uma tarefa. | |
JobState | O estado do trabalho de fila do Project Server Especifica o status de uma fila de trabalho. | |
LookupTableConstants | Especifica os valores máximos e os valores mínimos para entidades de tabela de pesquisa. | |
LookupTableMaskSequence | Especifica a seqüência de máscara, que é o tipo de dados para uma tabela de pesquisa. | |
LookupTableSortOrder | Especifica a ordem de classificação para uma tabela de pesquisa. | |
OvertimeRateFormat | Especifica a unidade de tempo da taxa de horas extras do recurso; ou seja, a taxa por unidade de tempo, como dólares por hora. | |
ProjectDetailPageType | Especifica o tipo de página de detalhes do projeto (PDP). | |
ProjectType | Especifica o tipo de projeto. | |
QueueMsgType | Especifica o tipo de mensagem da fila, para enviar um trabalho para o sistema de fila do Project Server. | |
ReadyToLeaveProjectStageValue | Especifica os requisitos de estágio de projeto em um fluxo de trabalho do Project Server para ajudar a determinar se o fluxo de trabalho está pronto para sair do Palco. | |
ResourceType | Especifica os tipos de recursos. | |
StandardRateFormat | Especifica a unidade de tempo da taxa de recurso; ou seja, a taxa por unidade de tempo, como dólares por hora. | |
StrategicImpactBehavior | Especifica o impacto estratégico como valores se comportam em um estágio de fluxo de trabalho do Project Server. | |
TaskType | Especifica se o tipo de tarefa em um projeto é fixado unidades, trabalho fixo e duração fixa. | |
TimeScale | Especifica a escala dos dados divididos em fases. | |
TimeSheetEntryMode | Contém os modos de entrada de quadro de horários. | |
TimeSheetLineClass | Representa as classificações que definem os diferentes usos de uma linha de quadro de horários. | |
TimeSheetLineStatus | Representa as configurações de status que podem ser aplicadas a uma linha de quadro de horários. | |
TimeSheetStatus | Representa as configurações de status que podem ser aplicadas a um quadro de horários. | |
TimeSheetValidationType | Especifica o conjunto de tipos de validação para linhas de quadro de horários. | |
TrackingMode | Especifica os modos para controlar o progresso da tarefa. | |
UpdateProjectStageStatusFieldValue | Especifica o status do estágio do projeto em um fluxo de trabalho do Project Server. | |
UtilizationType | Especifica o tipo de uso de recursos para o planejamento de recursos atual. | |
WorkFormat | Contém um valor que representa um formato de trabalho. |
Examples
A seguir estão as etapas para criar um aplicativo de console simples chamado ReadProjectList que usa classes do namespace Microsoft.ProjectServer.Client para ler a coleção de projetos publicados.
Se você estiver desenvolvendo em um computador remoto, copie os seguintes assemblies de baixar o SDK Project 2013 ou de %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI no computador do Project Server para uma pasta adequada no computador de desenvolvimento:
Microsoft.ProjectServer.Client.dll
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
No Visual Studio 2012, crie um aplicativo de console. Para este exemplo, nomeie o aplicativo ReadProjectList. Na caixa de diálogo Novo projeto , defina a estrutura de destino para o .NET Framework 4.5. Você também pode usar o Visual Studio 2010 com o .NET Framework 4 (fazer uso .NET Framework 4 Client Profile ).
Definir referências aos assemblies que são especificados na etapa 1.
Substitua o código no arquivo Program.cs pelo código a seguir.
Observação
Você deve definir o contexto CSOM, usando o objeto ProjectContext , não usando o objeto ProjectServer .
Pressione F5 para executar o aplicativo.
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);
}
}
}
See also
Reference
Other resources
Client-side object model (CSOM) for Project Server
JavaScript API reference