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
Énumérations
Énumération | Description | |
---|---|---|
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. | |
BookingType | Spécifie comment les ressources sont réservés pour les affectations. | |
CalendarRecurrenceDays | Représente les jours de la semaine pour les exceptions de calendrier périodique. | |
CalendarRecurrenceType | Spécifie le type de périodicité pour une exception de calendrier. | |
CalendarRecurrenceWeek | Spécifie une semaine d'un mois est utilisé pour installer un programme. | |
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. | |
ConstraintType | Spécifie le type de contrainte d'une tâche. | |
CurrencySymbolPosition | Spécifie la position du symbole monétaire. | |
CustomFieldRollupType | Spécifie le type de cumul de synthèse pour un champ personnalisé. | |
CustomFieldType | Spécifie le type de champ personnalisé d'entreprise. | |
DependencyType | Spécifie le type d'interdépendance à établir entre les deux tâches. | |
EnterpriseResourceType | Représente les différents types de ressources d'entreprise. | |
FixedCostAccrual | Indique quand et comment les coûts fixes doivent être facturés au coût d'une tâche. | |
JobState | État de la tâche de file d'attente Project Server spécifie le statut d'une tâche de file d'attente. | |
LookupTableConstants | Spécifie les valeurs maximales et les valeurs minimales pour les entités de table de recherche. | |
LookupTableMaskSequence | Spécifie la séquence de masque, qui est le type de données pour une table de choix. | |
LookupTableSortOrder | Spécifie l'ordre de tri d'une table de choix. | |
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. | |
ProjectDetailPageType | Spécifie le type de la page de détails de projet (PDP). | |
ProjectType | Spécifie le type de projet. | |
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. | |
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. | |
ResourceType | Spécifie les types de ressources. | |
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. | |
StrategicImpactBehavior | Spécifie l'impact stratégique comment se comportent des valeurs dans une phase de flux de travail de Project Server. | |
TaskType | Spécifie si le type de tâche dans un projet est fixe d'unités, un travail fixe et durée fixe. | |
TimeScale | Spécifie l'échelle des données chronologiques. | |
TimeSheetEntryMode | Contient les modes d'entrée de feuille de temps. | |
TimeSheetLineClass | Représente les classifications qui définissent les différentes utilisations d'une ligne de feuille de temps. | |
TimeSheetLineStatus | Représente les paramètres d'état qui peuvent être appliqués à une ligne de feuille de temps. | |
TimeSheetStatus | Représente les paramètres d'état qui peuvent être appliqués à une feuille de temps. | |
TimeSheetValidationType | Spécifie l'ensemble des types de validation pour les lignes de feuille de temps. | |
TrackingMode | Spécifie les modes de suivi de la progression de la tâche. | |
UpdateProjectStageStatusFieldValue | Spécifie l'état de la phase de projet dans un flux de travail de Project Server. | |
UtilizationType | Spécifie le type d'utilisation des ressources pour le plan de ressources actuel. | |
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.
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
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).
Définissez des références aux assemblys qui sont spécifiés à l'étape 1.
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 .
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);
}
}
}