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
Public class Assignment Contém as propriedades comuns de atribuições de rascunho e atribuições publicadas.
Public class AssignmentCreationInformation Contém as propriedades que podem ser definidas durante a criação de uma atribuição.
Public class BaseCalendarException Representa a coleção de exceções de calendário base.
Public class Calendar Representa um calendário do Project Server.
Public class CalendarCollection Representa uma coleção de objetos de calendários.
Public class CalendarCreationInformation Representa informações usadas para criar um novo calendário.
Public class CalendarException Representa uma diferença (exceção) do calendário base.
Public class CalendarExceptionCollection Representa uma coleção de exceções de calendário.
Public class CalendarExceptionCreationInformation Fornece informações para a criação de uma exceção do calendário.
Public class CustomField Contém propriedades e métodos que são usados para criar um campo personalizado da empresa.
Public class CustomFieldCollection Representa uma coleção de objetos CustomField .
Public class CustomFieldCreationInformation Fornece informações que são usadas na criação de um campo personalizado.
Public class DraftAssignment Permite a criação de uma atribuição de rascunho para um projeto.
Public class DraftAssignmentCollection Representa uma coleção de objetos DraftAssignment .
Public class DraftProject Representa a versão de rascunho de um projeto, o que é um projeto que está com check-out.
Public class DraftProjectResource Representa um recurso da empresa em um projeto com check-out.
Public class DraftProjectResourceCollection Representa uma coleção de objetos DraftProjectResource .
Public class DraftTask Representa uma tarefa em um projeto com check-out.
Public class DraftTaskCollection Representa uma coleção de objetos DraftTask .
Public class DraftTaskLink Cria um objeto para acessar os links de tarefa em um projeto de rascunho.
Public class DraftTaskLinkCollection Representa uma coleção de objetos DraftTaskLink .
Public class EnterpriseProjectType Cria um objeto que representa um tipo de projeto corporativo.
Public class EnterpriseProjectTypeCollection Representa uma coleção de objetos EnterpriseProjectType (EITAR).
Public class EnterpriseProjectTypeCreationInformation Fornece informações para a criação de um tipo de projeto corporativo (EITAR).
Public class EnterpriseResource Representa um recurso que é gerenciado pelo servidor de projeto em um projeto.
Public class EnterpriseResourceCollection Representa uma coleção de objetos EnterpriseResource .
Public class EnterpriseResourceCreationInformation Fornece informações para a criação de um recurso da empresa.
Public class EntityType Representa um tipo de entidade do Project Server.
Public class EntityTypes Representa os tipos de entidades do Project Server que são expostos por meio de CSOM.
Public class Event Representa e identifica a atividade que ocorre no Project Server quando houver alterações nos dados de objeto comercial.
Public class EventCollection Representa uma coleção de objetos Event .
Public class EventHandler Representa a identificação e a localização de um manipulador de eventos do Project Server.
Public class EventHandlerCollection Representa uma coleção de objetos EventHandler .
Public class EventHandlerCreationInformation Fornece informações para a criação de um manipulador de eventos.
Public class LookupCost Contém um valor de dados para uma tabela de pesquisa do tipo Cost.
Public class LookupDate Contém um valor de dados para uma tabela de pesquisa do tipo Date.
Public class LookupDuration Contém um valor de dados para uma tabela de pesquisa do tipo Duration.
Public class LookupEntry Representa uma entrada de tabela de pesquisa.
Public class LookupEntryCollection Representa uma coleção de objetos LookupEntry para uma tabela de pesquisa.
Public class LookupEntryCreationInformation Fornece informações para a criação de uma entrada de tabela de pesquisa.
Public class LookupEntryValue Representa o valor de uma entrada de tabela de pesquisa.
Public class LookupMask Representa uma definição de máscara para os níveis de uma tabela de pesquisa hierárquica.
Public class LookupNumber Contém um valor de dados para uma tabela de pesquisa do tipo Number.
Public class LookupTable Representa uma tabela de pesquisa.
Public class LookupTableCollection Representa uma coleção de objetos LookupTable .
Public class LookupTableCreationInformation Fornece métodos e configurações de propriedade para a criação de uma tabela de pesquisa.
Public class LookupTables Representa as definições de tabela de pesquisa.
Public class LookupText Define uma entrada em uma tabela de pesquisa do tipo Text.
Public class 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.
Public class PhaseCollection Representa uma coleção de objetos de Phase de fluxo de trabalho.
Public class PhaseCreationInformation Fornece métodos e configurações de propriedades que são usadas na criação de uma fase de fluxo de trabalho.
Public class PlanAssignment Fornece informações sobre uma atribuição em um plano de projeto.
Public class PlanAssignmentCollection Representa uma coleção de objetos de atribuição do plano.
Public class PlanAssignmentCreationInformation Fornece informações para a criação de um objeto PlanAssignment .
Public class PlanAssignmentInterval Representa a coleção de intervalos de tempo para uma atribuição de plano de projeto.
Public class PlanAssignmentIntervalCollection Representa uma coleção de objetos PlanAssignmentInterval .
Public class PlanAssignmentIntervalCreationInformation Fornece informações que são usadas para a criação de objetos PlanAssignmentInterval .
Public class Project Contém as propriedades comuns para projetos de rascunho e publicado.
Public class ProjectCollection Representa uma coleção de objetos PublishedProject .
Public class 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.
Public class ProjectCreationInformation Contém as propriedades que podem ser definidas durante a criação de um projeto.
Public class 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.
Public class ProjectDetailPageCollection Representa uma coleção de páginas de detalhes do projeto (PDPs).
Public class ProjectDetailPageCreationInformation Fornece informações que são usadas para criar uma página de detalhes do projeto (PDP) para um tipo de projeto corporativo.
Public class ProjectResource Fornece informações sobre um recurso do projeto.
Public class ProjectResourceCreationInformation Fornece configurações de propriedades e métodos para a criação de uma entidade de recurso do projeto.
Public class 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.
Public class ProjectServerData Representa uma conexão a um servidor.
Public class PublishedAssignment Representa a atribuição que está em um projeto publicado.
Public class PublishedAssignmentCollection Representa uma coleção de atribuições publicadas.
Public class PublishedProject Representa um projeto é publicado no Project Server.
Public class PublishedProjectResource Representa um recurso de empresa publicado no Project Server.
Public class PublishedProjectResourceCollection Representa uma coleção de recursos em um projeto publicado.
Public class PublishedTask Representa uma tarefa em um projeto publicado.
Public class PublishedTaskCollection Representa uma coleção de tarefas em um projeto publicado.
Public class PublishedTaskLink Representa uma relação de dependência entre as datas de início e término das tarefas.
Public class PublishedTaskLinkCollection Representa uma coleção de links para tarefas em um projeto publicado.
Public class QueueJob Filas de um projeto para a publicação.
Public class QueueJobCollection Representa uma coleção de objetos QueueJob .
Public class ResourceCalendarException Representa uma exceção do calendário de recursos.
Public class ResourcePlan Representa uma visão de alto nível que recursos podem ser necessárias para um projeto.
Public class ScriptTypeFactory This class and its members are reserved for internal use and are not intended to be used in your code.
Public class ServiceStatus Fornece informações sobre o status do serviço do Project Server.
Public class Stage Representa um estágio do fluxo de trabalho do projeto.
Public class StageCollection Representa uma coleção de objetos de Stage de fluxo de trabalho.
Public class StageCreationInformation Fornece métodos e propriedades que são usadas para criar um estágio de fluxo de trabalho do projeto.
Public class StageCustomField Representa um campo personalizado para um estágio de projeto.
Public class StageCustomFieldCollection Representa uma coleção de objetos de StageCustomField , que são campos personalizados em um estágio do fluxo de trabalho.
Public class 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.
Public class StageDetailPage Representa uma página de detalhes do projeto (PDP) para um estágio de fluxo de trabalho.
Public class 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.
Public class 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.
Public class StatusAssignment Fornece um objeto que é uma atribuição em uma atualização de status.
Public class StatusAssignmentCollection Representa uma coleção de objetos de StatusAssignment , que são as atribuições em uma atualização de status.
Public class StatusAssignmentCreationInformation Fornece configurações de propriedades e métodos para a criação de um objeto de atribuição de status.
Public class StatusTask Fornece um objeto que controla o andamento de uma tarefa.
Public class StatusTaskCreationInformation Fornece configurações de propriedades e métodos para a criação de um objeto de tarefa do status.
Public class Task Contém métodos e propriedades que podem ser usadas para acessar os detalhes da tarefa.
Public class TaskCreationInformation Fornece configurações de propriedades e métodos que são usados para criar uma tarefa.
Public class TaskLink Representa o relacionamento de dependência entre as datas de início e término das tarefas.
Public class TaskLinkCreationInformation Fornece configurações de propriedades e métodos que são usados para criar um vínculo de tarefa.
Public class TimePhase Representa informações de andamento de atribuição são distribuídas ao longo do tempo.
Public class TimeSheet Contém os métodos e propriedades para gerenciar um quadro de horários.
Public class TimeSheetLine Representa uma linha em uma folha de ponto.
Public class TimeSheetLineCollection Representa uma coleção de linhas do quadro de horários.
Public class TimeSheetLineCreationInformation Fornece configurações de propriedades e métodos que são usados para criar uma linha de quadro de horários.
Public class TimeSheetPeriod Representa um período de tempo em um quadro de horários definido.
Public class TimeSheetPeriodCollection Representa uma coleção de objetos TimeSheetPeriod .
Public class TimeSheetWork Representa os diferentes tipos de trabalho em um quadro de horários.
Public class TimeSheetWorkCollection Fornece um conjunto de entradas de trabalho real para uma folha de ponto.
Public class TimeSheetWorkCreationInformation Fornece configurações de propriedades e métodos que são usados para criar um objeto de trabalho do quadro de horários.
Public class 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).
Public class WorkflowDesigner Cria um objeto que pode ser usado para criar um fluxo de trabalho.
Public class WorkflowDesignerField Representa um campo que é criado em um designer de fluxo de trabalho.
Public class 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
Public enumeration AccrueAt O modo de acumulação de custo Especifica como e quando os custos dos recursos devem ser cobrados no custo de uma tarefa.
Public enumeration BookingType Especifica como os recursos são reservados para atribuições.
Public enumeration CalendarRecurrenceDays Representa os dias da semana para exceções de calendário recorrente.
Public enumeration CalendarRecurrenceType Especifica os tipos de recorrência para uma exceção de calendário.
Public enumeration CalendarRecurrenceWeek Especifica uma semana de um mês que é usada para configurar um agendamento.
Public enumeration 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.
Public enumeration ConstraintType Especifica o tipo de restrição para uma tarefa.
Public enumeration CurrencySymbolPosition Especifica a posição do símbolo da moeda.
Public enumeration CustomFieldRollupType Especifica o tipo de acúmulo de resumo para um campo personalizado.
Public enumeration CustomFieldType Especifica o tipo de um campo personalizado da empresa.
Public enumeration DependencyType Especifica o tipo de dependência para estabelecer entre duas tarefas.
Public enumeration EnterpriseResourceType Representa os tipos diferentes de recursos da empresa.
Public enumeration FixedCostAccrual Especifica como e quando os custos fixos devem ser cobrados no custo de uma tarefa.
Public enumeration JobState O estado do trabalho de fila do Project Server Especifica o status de uma fila de trabalho.
Public enumeration LookupTableConstants Especifica os valores máximos e os valores mínimos para entidades de tabela de pesquisa.
Public enumeration LookupTableMaskSequence Especifica a seqüência de máscara, que é o tipo de dados para uma tabela de pesquisa.
Public enumeration LookupTableSortOrder Especifica a ordem de classificação para uma tabela de pesquisa.
Public enumeration 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.
Public enumeration ProjectDetailPageType Especifica o tipo de página de detalhes do projeto (PDP).
Public enumeration ProjectType Especifica o tipo de projeto.
Public enumeration QueueMsgType Especifica o tipo de mensagem da fila, para enviar um trabalho para o sistema de fila do Project Server.
Public enumeration 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.
Public enumeration ResourceType Especifica os tipos de recursos.
Public enumeration StandardRateFormat Especifica a unidade de tempo da taxa de recurso; ou seja, a taxa por unidade de tempo, como dólares por hora.
Public enumeration StrategicImpactBehavior Especifica o impacto estratégico como valores se comportam em um estágio de fluxo de trabalho do Project Server.
Public enumeration TaskType Especifica se o tipo de tarefa em um projeto é fixado unidades, trabalho fixo e duração fixa.
Public enumeration TimeScale Especifica a escala dos dados divididos em fases.
Public enumeration TimeSheetEntryMode Contém os modos de entrada de quadro de horários.
Public enumeration TimeSheetLineClass Representa as classificações que definem os diferentes usos de uma linha de quadro de horários.
Public enumeration TimeSheetLineStatus Representa as configurações de status que podem ser aplicadas a uma linha de quadro de horários.
Public enumeration TimeSheetStatus Representa as configurações de status que podem ser aplicadas a um quadro de horários.
Public enumeration TimeSheetValidationType Especifica o conjunto de tipos de validação para linhas de quadro de horários.
Public enumeration TrackingMode Especifica os modos para controlar o progresso da tarefa.
Public enumeration UpdateProjectStageStatusFieldValue Especifica o status do estágio do projeto em um fluxo de trabalho do Project Server.
Public enumeration UtilizationType Especifica o tipo de uso de recursos para o planejamento de recursos atual.
Public enumeration 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.

  1. 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

  2. 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 ).

  3. Definir referências aos assemblies que são especificados na etapa 1.

  4. 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 .

  5. 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