Compartilhar via


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

  Classe Descrição
Classe pública Assignment
Classe pública AssignmentCreationInformation
Classe pública BaseCalendarException
Classe pública Calendar
Classe pública CalendarCollection
Classe pública CalendarCreationInformation
Classe pública CalendarException
Classe pública CalendarExceptionCollection
Classe pública CalendarExceptionCreationInformation
Classe pública CustomField
Classe pública CustomFieldCollection
Classe pública CustomFieldCreationInformation
Classe pública DraftAssignment
Classe pública DraftAssignmentCollection
Classe pública DraftProject
Classe pública DraftProjectResource
Classe pública DraftProjectResourceCollection
Classe pública DraftTask
Classe pública DraftTaskCollection
Classe pública DraftTaskLink
Classe pública DraftTaskLinkCollection
Classe pública EnterpriseProjectType
Classe pública EnterpriseProjectTypeCollection
Classe pública EnterpriseProjectTypeCreationInformation
Classe pública EnterpriseResource
Classe pública EnterpriseResourceCollection
Classe pública EnterpriseResourceCreationInformation
Classe pública EntityType
Classe pública EntityTypes
Classe pública Event
Classe pública EventCollection
Classe pública EventHandler
Classe pública EventHandlerCollection
Classe pública EventHandlerCreationInformation
Classe pública LookupCost
Classe pública LookupDate
Classe pública LookupDuration
Classe pública LookupEntry
Classe pública LookupEntryCollection
Classe pública LookupEntryCreationInformation
Classe pública LookupEntryValue
Classe pública LookupMask
Classe pública LookupNumber
Classe pública LookupTable
Classe pública LookupTableCollection
Classe pública LookupTableCreationInformation
Classe pública LookupTables
Classe pública LookupText
Classe pública Phase
Classe pública PhaseCollection
Classe pública PhaseCreationInformation
Classe pública PlanAssignment
Classe pública PlanAssignmentCollection
Classe pública PlanAssignmentCreationInformation
Classe pública PlanAssignmentInterval
Classe pública PlanAssignmentIntervalCollection
Classe pública PlanAssignmentIntervalCreationInformation
Classe pública Project
Classe pública ProjectCollection
Classe pública ProjectContext
Classe pública ProjectCreationInformation
Classe pública ProjectDetailPage
Classe pública ProjectDetailPageCollection
Classe pública ProjectDetailPageCreationInformation
Classe pública ProjectResource
Classe pública ProjectResourceCreationInformation
Classe pública ProjectServer
Classe pública ProjectServerData
Classe pública PublishedAssignment
Classe pública PublishedAssignmentCollection
Classe pública PublishedProject
Classe pública PublishedProjectResource
Classe pública PublishedProjectResourceCollection
Classe pública PublishedTask
Classe pública PublishedTaskCollection
Classe pública PublishedTaskLink
Classe pública PublishedTaskLinkCollection
Classe pública QueueJob
Classe pública QueueJobCollection
Classe pública ResourceCalendarException
Classe pública ResourcePlan
Classe pública ScriptTypeFactory
Classe pública ServiceStatus
Classe pública Stage
Classe pública StageCollection
Classe pública StageCreationInformation
Classe pública StageCustomField
Classe pública StageCustomFieldCollection
Classe pública StageCustomFieldCreationInformation
Classe pública StageDetailPage
Classe pública StageDetailPageCollection
Classe pública StageDetailPageCreationInformation
Classe pública StatusAssignment
Classe pública StatusAssignmentCollection
Classe pública StatusAssignmentCreationInformation
Classe pública StatusTask
Classe pública StatusTaskCreationInformation
Classe pública Task
Classe pública TaskCreationInformation
Classe pública TaskLink
Classe pública TaskLinkCreationInformation
Classe pública TimePhase
Classe pública TimeSheet
Classe pública TimeSheetLine
Classe pública TimeSheetLineCollection
Classe pública TimeSheetLineCreationInformation
Classe pública TimeSheetPeriod
Classe pública TimeSheetPeriodCollection
Classe pública TimeSheetWork
Classe pública TimeSheetWorkCollection
Classe pública TimeSheetWorkCreationInformation
Classe pública WorkflowActivities
Classe pública WorkflowDesigner
Classe pública WorkflowDesignerField
Classe pública WorkflowDesignerFieldCollection

Enumerações

  Enumeração Descrição
Enumeração pública AccrueAt O modo de acumulação de custo Especifica como e quando os custos dos recursos devem ser cobrados no custo de uma tarefa.
Enumeração pública BookingType Especifica como os recursos são reservados para atribuições.
Enumeração pública CalendarRecurrenceDays Representa os dias da semana para exceções de calendário recorrente.
Enumeração pública CalendarRecurrenceType Especifica os tipos de recorrência para uma exceção de calendário.
Enumeração pública CalendarRecurrenceWeek Especifica uma semana de um mês que é usada para configurar um agendamento.
Enumeração pública CommittedDecisionResult Especifica se um item está incluído em uma função do optimizer ou uma função do Planejador de projeto para análise de portfólio.
Enumeração pública ConstraintType Especifica o tipo de restrição para uma tarefa.
Enumeração pública CurrencySymbolPosition Especifica a posição do símbolo da moeda.
Enumeração pública CustomFieldRollupType Especifica o tipo de acúmulo de resumo para um campo personalizado.
Enumeração pública CustomFieldType Especifica o tipo de um campo personalizado da empresa.
Enumeração pública DependencyType Especifica o tipo de dependência para estabelecer entre duas tarefas.
Enumeração pública EnterpriseResourceType Representa os tipos diferentes de recursos da empresa.
Enumeração pública FixedCostAccrual Especifica como e quando os custos fixos devem ser cobrados no custo de uma tarefa.
Enumeração pública JobState O estado do trabalho de fila do Project Server Especifica o status de uma fila de trabalho.
Enumeração pública LookupTableConstants Especifica os valores máximos e os valores mínimos para entidades de tabela de pesquisa.
Enumeração pública LookupTableMaskSequence Especifica a seqüência de máscara, que é o tipo de dados para uma tabela de pesquisa.
Enumeração pública LookupTableSortOrder Especifica a ordem de classificação para uma tabela de pesquisa.
Enumeração pública 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.
Enumeração pública ProjectDetailPageType Especifica o tipo de página de detalhes do projeto (PDP).
Enumeração pública ProjectType Especifica o tipo de projeto.
Enumeração pública QueueMsgType Especifica o tipo de mensagem da fila, para enviar um trabalho para o sistema de fila do Project Server.
Enumeração pública 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.
Enumeração pública ResourceType Especifica os tipos de recursos.
Enumeração pública StandardRateFormat Especifica a unidade de tempo da taxa de recurso; ou seja, a taxa por unidade de tempo, como dólares por hora.
Enumeração pública StrategicImpactBehavior Especifica o impacto estratégico como valores se comportam em um estágio de fluxo de trabalho do Project Server.
Enumeração pública TaskType Especifica se o tipo de tarefa em um projeto é fixado unidades, trabalho fixo e duração fixa.
Enumeração pública TimeScale Especifica a escala dos dados divididos em fases.
Enumeração pública TimeSheetEntryMode Contém os modos de entrada de quadro de horários.
Enumeração pública TimeSheetLineClass Representa as classificações que definem os diferentes usos de uma linha de quadro de horários.
Enumeração pública TimeSheetLineStatus Representa as configurações de status que podem ser aplicadas a uma linha de quadro de horários.
Enumeração pública TimeSheetStatus Representa as configurações de status que podem ser aplicadas a um quadro de horários.
Enumeração pública TimeSheetValidationType Especifica o conjunto de tipos de validação para linhas de quadro de horários.
Enumeração pública TrackingMode Especifica os modos para controlar o progresso da tarefa.
Enumeração pública UpdateProjectStageStatusFieldValue Especifica o status do estágio do projeto em um fluxo de trabalho do Project Server.
Enumeração pública UtilizationType Especifica o tipo de uso de recursos para o planejamento de recursos atual.
Enumeração pública WorkFormat Contém um valor que representa um formato de trabalho.

Exemplos

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);
        }
    }
}

Ver também

Referência

Outros recursos

Client-side object model (CSOM) for Project Server

JavaScript API reference