Microsoft.ProjectServer.Client - Espace de noms

Classes de cet espace de noms définissent le modèle objet côté client (CSOM) pour Microsoft Project Server 2013.

Le CSOM est accessible à partir de ces deux Project Online et à partir d'une installation de Project Server sur site, par le biais de l'espace de noms Microsoft.Project.Server.Client . Le CSOM de serveur Project est conçu pour être une API relativement conviviale qui consomme ou fournit les données par un nom, au lieu en transmettant des jeux de données ou en utilisant les paramètres de changeXml directement. Le CSOM implémente la fonctionnalité principale de la PSI Project Server Interface () pour les entités principales comme Project, Task, EnterpriseResourceet Assignment. Il inclut des entités supplémentaires tels que CustomField, LookupTable, WorkflowActivitiesEventHandleret QueueJob, qui prennent en charge les autres fonctionnalités de Project Server courantes.

Le CSOM est une API qui repose sur l'interface PSI ; il ne pas remplacer la PSI ou mettre en œuvre de toutes les fonctionnalités de la PSI. Le CSOM est accessible comme suit :

  • Sous forme d'un assembly à utiliser avec Microsoft .NET Framework 4.0 : %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll

    L'espace de noms Microsoft.ProjectServer.Client dans la section de référence de Service Web de la Project 2013 SDK et de la bibliothèque de classes documente le code managé pour le développement généraux de.Applications CSOM basées sur les NET.

  • Sous forme d'un assembly à utiliser pour le développement avec Silverlight: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll

  • Sous forme d'un assembly à utiliser pour le développement d'applications pour Microsoft Windows Phone 8: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll

  • Sous forme de fichier à utiliser pour le développement d'applications web avec JavaScript: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js ou PS.debug.js

    Pour obtenir la JavaScript référence à la CSOM, voir JavaScript API reference for Project Server 2013.

  • Une application web peut également accéder au CSOM par le biais de REST. Par exemple, vous pouvez utiliser la requête suivante pour obtenir des données pour tous les projets dans une instance de Project Web App :

    https://ServerName/ProjectServerName/_api/ProjectServer/Projects
    

    Pour plus d'informations, voir Client-side object model (CSOM) for Project Server et programmation à l'aide du service SharePoint 2013 REST.

Le téléchargement du kit SDK Project 2013 inclut également les assemblys et les fichiers de JavaScript pour le CSOM de serveur de Project. Si vous mettez à jour Project Server avec un service pack, vous devez copier les assemblys mis à jour et les fichiers de JavaScript à votre ordinateur de développement.

Les entités de Project Server principales sont généralement représentées dans le CSOM en six classes, par exemple :

  • La classe de base, telles que Assignment, contient les propriétés communes pour l'entité du projet et de l'entité publiée.

  • La classe informations de la création, tels que AssignmentCreationInformation, contient les propriétés qui sont utilisées pour créer une entité.

  • La classe t: brouillon, tels que DraftAssignment, comprend les propriétés de lecture/écriture qui représentent l'entité pour modification.

  • La classe publiée, tels que PublishedAssignment, comprend les propriétés en lecture seule représentant l'entité publiée.

  • La classe de collection de projet, comme DraftAssignmentCollection, inclut la méthode Add pour ajouter une entité de projet à la collection, la méthode GetById pour obtenir une entité spécifique pour modification et la méthode Remove pour supprimer un objet entity.

  • La classe de la collection publié, tels que PublishedAssignmentCollection, inclut généralement la méthode GetById pour obtenir une entité spécifique pour la lecture ou d'extraction à modifier.

La classe ProjectContext et la classe ProjectServer chacun maintenir le contexte de côté client pour le développement d'applications et contiennent des collections d'entité qui sont accessibles dans le monde dans une instance Project Web App , tels que Projects, EnterpriseResourcesEnterpriseProjectTypes, CustomFields, LookupTableset Events. Étant donné que la classe ProjectServer est fournie pour une utilisation interne par les objets côté client, applications doivent utiliser la classe ProjectContext , qui est initialisée avec le chemin d'accès Project Web App .

Pour obtenir un exemple simple de la programmation avec le CSOM, voir l'exemple la section version ultérieure sur cette page. Pour plus d'informations concernant le développement avec la CSOM, voir Modèle objet côté client (CSOM) pour Project 2013. La référence du code managé dans le Project 2013 SDK fournit des descriptions de base et les notes pour les propriétés des entités, qui sont également décrits dans les classes pour les espaces de noms dans l'interface PSI. Pour obtenir des informations détaillées sur les propriétés des entités, consultez la rubrique référence de champs disponibles.

Le CSOM pour Project Server 2013 repose sur la CSOM pour SharePoint Foundation 2013. Pour plus d'informations, voir Choose droite API dans SharePoint 2013.

Classes

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

Énumérations

  Énumération Description
Énumération publique AccrueAt Le mode d'allocation des coûts indique quand et comment les coûts des ressources doivent être facturés au coût d'une tâche.
Énumération publique BookingType Spécifie comment les ressources sont réservés pour les affectations.
Énumération publique CalendarRecurrenceDays Représente les jours de la semaine pour les exceptions de calendrier périodique.
Énumération publique CalendarRecurrenceType Spécifie le type de périodicité pour une exception de calendrier.
Énumération publique CalendarRecurrenceWeek Spécifie une semaine d'un mois est utilisé pour installer un programme.
Énumération publique CommittedDecisionResult Spécifie si un élément est inclus dans une fonction d'optimiseur ou une fonction d'agent de planification pour l'analyse de portefeuille de projet.
Énumération publique ConstraintType Spécifie le type de contrainte d'une tâche.
Énumération publique CurrencySymbolPosition Spécifie la position du symbole monétaire.
Énumération publique CustomFieldRollupType Spécifie le type de cumul de synthèse pour un champ personnalisé.
Énumération publique CustomFieldType Spécifie le type de champ personnalisé d'entreprise.
Énumération publique DependencyType Spécifie le type d'interdépendance à établir entre les deux tâches.
Énumération publique EnterpriseResourceType Représente les différents types de ressources d'entreprise.
Énumération publique FixedCostAccrual Indique quand et comment les coûts fixes doivent être facturés au coût d'une tâche.
Énumération publique JobState État de la tâche de file d'attente Project Server spécifie le statut d'une tâche de file d'attente.
Énumération publique LookupTableConstants Spécifie les valeurs maximales et les valeurs minimales pour les entités de table de recherche.
Énumération publique LookupTableMaskSequence Spécifie la séquence de masque, qui est le type de données pour une table de choix.
Énumération publique LookupTableSortOrder Spécifie l'ordre de tri d'une table de choix.
Énumération publique OvertimeRateFormat Spécifie l'unité de temps du taux des heures supplémentaires de la ressource ; Autrement dit, le taux par unité de temps, par exemple euros par heure.
Énumération publique ProjectDetailPageType Spécifie le type de la page de détails de projet (PDP).
Énumération publique ProjectType Spécifie le type de projet.
Énumération publique QueueMsgType Spécifie le type de message file d'attente, pour l'envoi d'un travail pour le système de file d'attente de Project Server.
Énumération publique ReadyToLeaveProjectStageValue Spécifie les exigences du stade de projet dans un flux de travail de Project Server pour aider à déterminer si le flux de travail est prêt à quitter la scène.
Énumération publique ResourceType Spécifie les types de ressources.
Énumération publique StandardRateFormat Spécifie l'unité de temps du taux de la ressource ; Autrement dit, le taux par unité de temps, par exemple euros par heure.
Énumération publique StrategicImpactBehavior Spécifie l'impact stratégique comment se comportent des valeurs dans une phase de flux de travail de Project Server.
Énumération publique TaskType Spécifie si le type de tâche dans un projet est fixe d'unités, un travail fixe et durée fixe.
Énumération publique TimeScale Spécifie l'échelle des données chronologiques.
Énumération publique TimeSheetEntryMode Contient les modes d'entrée de feuille de temps.
Énumération publique TimeSheetLineClass Représente les classifications qui définissent les différentes utilisations d'une ligne de feuille de temps.
Énumération publique TimeSheetLineStatus Représente les paramètres d'état qui peuvent être appliqués à une ligne de feuille de temps.
Énumération publique TimeSheetStatus Représente les paramètres d'état qui peuvent être appliqués à une feuille de temps.
Énumération publique TimeSheetValidationType Spécifie l'ensemble des types de validation pour les lignes de feuille de temps.
Énumération publique TrackingMode Spécifie les modes de suivi de la progression de la tâche.
Énumération publique UpdateProjectStageStatusFieldValue Spécifie l'état de la phase de projet dans un flux de travail de Project Server.
Énumération publique UtilizationType Spécifie le type d'utilisation des ressources pour le plan de ressources actuel.
Énumération publique WorkFormat Contient une valeur qui représente un format de travail.

Exemples

Voici les étapes pour créer une application de console simple nommée ReadProjectList qui utilise les classes dans l'espace de noms Microsoft.ProjectServer.Client pour lire la collection de projets publiés.

  1. Si vous développez sur un ordinateur distant, copiez les assemblys suivants à partir du téléchargement du kit de développement logiciel Project 2013 ou %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI sur l'ordinateur de Project Server dans un dossier pratique sur l'ordinateur de développement :

    • Microsoft.ProjectServer.Client.dll

    • Microsoft.SharePoint.Client.dll

    • Microsoft.SharePoint.Client.Runtime.dll

  2. Dans Visual Studio 2012, créez une application de console. Cet exemple, nom de l'application ReadProjectList. Dans la boîte de dialogue Nouveau projet , définissez l'infrastructure cible sur .NET Framework 4.5. Vous pouvez également utiliser Visual Studio 2010 avec .NET Framework 4 (n'utilisez pasLe profil Client .NET Framework 4).

  3. Définissez des références aux assemblys qui sont spécifiés à l'étape 1.

  4. Remplacez le code dans le fichier Program.cs par le code suivant.

    Notes

    Vous devez définir le contexte CSOM à l'aide de l'objet ProjectContext , ne pas à l'aide de l'objet ProjectServer .

  5. Appuyez sur F5 pour exécuter l'application.

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

Voir aussi

Référence

Autres ressources

Client-side object model (CSOM) for Project Server

JavaScript API reference