Microsoft.ProjectServer.Client-Namespace
Klassen in diesem Namespace definieren the Client-Side Object Model (CSOM) Microsoft Project Server 2013.
Die CSOM kann zugegriffen werden, aus beiden Project Online und aus einer Project Server-Installation von lokalen über den Microsoft.Project.Server.Client -Namespace. Die Project Server-CSOM ist darauf ausgelegt, eine relativ einfach zu bedienen API sein, die direkt verbraucht oder Daten enthält, durch den Namen, anstatt, indem Sie übergeben Datasets oder mithilfe von changeXml -Parameter. Die CSOM implementiert die wichtigste Funktionen von der Project Server Interface (PSI) für die primären Entitäten wie Project, TaskEnterpriseResourceund Assignment. Sie enthält zusätzliche Entitäten wie CustomFieldLookupTable, WorkflowActivities, EventHandlerund QueueJob, die andere allgemeine Project Server-Funktionen zu unterstützen.
Die CSOM ist eine API, die auf die PSI aufbaut. Ersetzen Sie die PSI oder nicht implementieren der PSI-Funktionalität. Die CSOM kann auf folgenden Arten zugegriffen werden:
Als Assembly zur Verwendung mit Microsoft .NET Framework 4.0: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI\Microsoft.ProjectServer.Client.dll
Der Microsoft.ProjectServer.Client -Namespace in der Klassenbibliothek und Webdienstreferenz-Abschnitt, der die Project 2013 SDK dokumentiert den für allgemeine Entwicklung von verwalteten Code.NET-CSOM Anwendungen.
Als eine Assembly an, für die Entwicklung mit Silverlightverwenden: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Silverlight.dll
Als eine Assembly an, die für die Entwicklung von Anwendungen für Microsoft Windows Phone 8: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\ClientBin\Microsoft.ProjectServer.Client.Phone.dll
Als Datei für die Entwicklung von Webanwendungen mit JavaScriptverwenden: %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\PS.js oder PS.debug.js
Die JavaScript -Verweis auf die CSOM finden Sie unter JavaScript API reference for Project Server 2013.
Eine Webanwendung kann auch die CSOM im weiteren Verlauf zugreifen. Beispielsweise können Sie die folgende Abfrage zum Abrufen von Daten für alle Projekte in einer Instanz einer Project Web App verwenden:
https://ServerName/ProjectServerName/_api/ProjectServer/Projects
Weitere Informationen finden Sie unter Client-side object model (CSOM) for Project Server und Programmieren mit dem SharePoint 2013 REST-Dienst.
Project 2013 -SDK-Downloads enthält auch die Assemblys und JavaScript -Dateien für die Project Server-CSOM. Wenn Sie Service Packs Project Server aktualisieren, sollten Sie die aktualisierten Assemblys und JavaScript -Dateien auf dem Entwicklungscomputer kopieren.
Die primären Project Server-Entitäten sind in der Regel in der CSOM von sechs Klassen, beispielsweise dargestellt:
Die Basisklasse wie Assignment, enthält die allgemeinen Eigenschaften für die Entität Entwurfsdatenbank und die veröffentlichten Entität.
Die Erstellung-Informationen-Klasse wie AssignmentCreationInformation, enthält die Eigenschaften, mit denen ein Entity-Objekt zu erstellen.
Die Entwurf-Klasse, z. B. DraftAssignment, enthält die Lese-/Schreibzugriff-Eigenschaften, die die Entität zur Bearbeitung darstellen.
Die veröffentlichte Klasse, z. B. PublishedAssignment, umfasst schreibgeschützte Eigenschaften, die die veröffentlichte Entität repräsentieren.
Die Entwurf-Auflistung-Klasse wie DraftAssignmentCollection, enthält die Add -Methode zum Hinzufügen einer Entität Entwurf der Auflistung, die GetById -Methode, um eine bestimmte Entität zu erhalten, zur Bearbeitung und die Remove -Methode, um ein Entity-Objekt zu löschen.
Die veröffentlichte Auflistungsklasse, z. B. PublishedAssignmentCollection, umfasst im Allgemeinen die GetById -Methode, um eine bestimmte Entität zum Lesen oder für die Überprüfung aus bearbeiten möchten.
Die ProjectContext -Klasse und die ProjectServer -Klasse jeweils beibehalten mithilfe der clientseitigen Kontext für die Anwendungsentwicklung und enthalten Entitätssammlungen, die in einer Instanz Project Web App wie Projects, EnterpriseResources, EnterpriseProjectTypes, CustomFields, LookupTablesund EventsGlobal zugänglich sind. Da die ProjectServer -Klasse für die interne Verwendung durch mithilfe der clientseitigen Objekte bereitgestellt wird, sollte Anwendungen die ProjectContext -Klasse verwenden, die durch den Pfad Project Web App initialisiert wird.
Ein einfaches Beispiel für die Programmierung mit der CSOM finden Sie unter das Beispiel weiter unten auf dieser Seite im Abschnitt. Weitere Informationen zur Entwicklung mit der CSOM finden Sie unter Clientseitiges Objektmodell (CSOM) für Project 2013. Der Verweis verwaltetem Code in die Project 2013 SDK enthält grundlegende Beschreibungen und Hinweise für die Eigenschaften der Entitäten, die auch in die Klassen für die Namespaces in die PSI beschrieben werden. Ausführliche Informationen zu den Eigenschaften der Entitäten finden Sie unter Verfügbare Felder Verweis.
Die CSOM für Project Server 2013 basiert auf den CSOM für SharePoint Foundation 2013. Weitere Informationen finden Sie unter Choose rechts API-Satz in SharePoint 2013.
Klassen
Enumerationen
Enumeration | Beschreibung | |
---|---|---|
AccrueAt | Der Kostenfälligkeit Modus gibt an, wie und wann Ressourcenkosten sind die Kosten für einen Vorgang vorgenommen werden. | |
BookingType | Gibt an, wie Ressourcen für Zuordnungen gebuchten. | |
CalendarRecurrenceDays | Stellt die Wochentage für wiederkehrende Kalenderausnahmen. | |
CalendarRecurrenceType | Gibt an, welche Serie für eine Kalenderausnahme. | |
CalendarRecurrenceWeek | Gibt eine Woche des Monats, der verwendet wird, um einen Zeitplan einrichten. | |
CommittedDecisionResult | Gibt an, ob ein Element in einer Optimierer-Funktion oder eine Planner für projektportfolioanalyse enthalten ist. | |
ConstraintType | Gibt den Einschränkungstyp für einen Vorgang. | |
CurrencySymbolPosition | Gibt die Position des Währungssymbols. | |
CustomFieldRollupType | Gibt den zusammenfassenden Rollup-Typ für ein benutzerdefiniertes Feld. | |
CustomFieldType | Gibt den Typ für ein benutzerdefiniertes Enterprise-Feld. | |
DependencyType | Gibt den Typ der Abhängigkeit zwischen zwei Vorgängen herstellen. | |
EnterpriseResourceType | Stellt die verschiedenen Typen von Enterprise-Ressourcen dar. | |
FixedCostAccrual | Gibt an, wie und wann feste Kosten den Kosten eines Vorgangs belastet werden. | |
JobState | Der warteschlangenauftragsstatus für Project Server gibt den Status eines Auftrags zur Warteschlange. | |
LookupTableConstants | Gibt die maximale Werte und Mindestwerte für Lookup Tabellenentitäten. | |
LookupTableMaskSequence | Gibt die Reihenfolge Maske, die den Typ der Daten für eine Nachschlagetabelle ist. | |
LookupTableSortOrder | Gibt die Sortierreihenfolge für eine Nachschlagetabelle. | |
OvertimeRateFormat | Gibt die Zeiteinheit der der Überstundensatz für die Ressource an. d. h., die Anzahl der pro Zeiteinheit, wie etwa Dollar pro Stunde. | |
ProjectDetailPageType | Gibt den Typ der Projektdetailseite (PDP). | |
ProjectType | Gibt den Typ des Projekts. | |
QueueMsgType | Gibt die warteschlangennachrichtentyp für das Senden eines Auftrags an das Warteschlangensystem von Project Server an. | |
ReadyToLeaveProjectStageValue | Gibt die Project-Stage-Anforderungen in einer Project Server-Workflows, um zu ermitteln, ob der Workflow lassen Sie die Phase bereit ist. | |
ResourceType | Gibt die Typen von Ressourcen. | |
StandardRateFormat | Gibt die Zeiteinheit der der Ressourcensatz an. d. h., die Anzahl der pro Zeiteinheit, wie etwa Dollar pro Stunde. | |
StrategicImpactBehavior | Gibt an, wie strategische Auswirkungen Verhalten von Werten in einer Project Server-Workflow-Stufe. | |
TaskType | Gibt an, ob der Vorgangstyp in einem Projekt feste Einheiten, feste Dauer oder Feste Arbeit ist. | |
TimeScale | Gibt die Skalierung der Zeitphasendaten mit. | |
TimeSheetEntryMode | Enthält die Arbeitszeittabelle Eintrag Modi. | |
TimeSheetLineClass | Klassifizierungen, die definieren, die verschiedenen Verwendungsmöglichkeiten für eine Arbeitszeittabellen-Zeile darstellt. | |
TimeSheetLineStatus | Stellt die Statuseinstellungen, die auf eine Zeile der Arbeitszeittabelle angewendet werden können. | |
TimeSheetStatus | Stellt die Statuseinstellungen, die auf eine Arbeitszeittabelle angewendet werden können. | |
TimeSheetValidationType | Gibt den Satz der Validierungstypen für Arbeitszeittabellen-Zeilen. | |
TrackingMode | Gibt die Modi für die Nachverfolgung Vorgang in Arbeit. | |
UpdateProjectStageStatusFieldValue | Gibt den Status der Projektstufe in einer Project Server-Workflows. | |
UtilizationType | Gibt den Typ der Ressourcenverwendung für den aktuellen Ressourcenplan. | |
WorkFormat | Enthält einen Wert, der ein Arbeit Format darstellt. |
Beispiele
Es folgen die Schritte zum Erstellen einer einfache Konsolenanwendung namens ReadProjectList , die Klassen im Namespace Microsoft.ProjectServer.Client verwendet, um die Auflistung der veröffentlichte Projekte zu lesen.
Wenn Sie auf einem Remotecomputer entwickeln, kopieren Sie die folgenden Assemblys aus der Project 2013 -SDK-Downloads oder %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI auf dem Project Server-Computer auf einen komfortable Ordner auf dem Entwicklungscomputer:
Microsoft.ProjectServer.Client.dll
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
Erstellen Sie in Visual Studio 2012eine Konsolenanwendung. In diesem Beispiel nennen Sie die Anwendung ReadProjectList. Klicken Sie im Dialogfeld Neues Projekt legen Sie das Zielframework auf .NET Framework 4.5. Sie können auch Visual Studio 2010 verwenden, mit .NET Framework 4 (tun nicht verwenden .NET Framework 4 Client Profile).
Festlegen von Verweisen auf die Assemblys, die in Schritt 1 angegeben sind.
Ersetzen Sie den Code in der Datei Program.cs durch den folgenden Code.
Hinweis
Sie sollten im Kontext CSOM mithilfe des ProjectContext -Objekts, nicht mithilfe des ProjectServer -Objekts festlegen.
Drücken Sie Sie F5 , um die Anwendung auszuführen.
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);
}
}
}