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

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

Enumerationen

  Enumeration Beschreibung
Öffentliche Enumeration AccrueAt Der Kostenfälligkeit Modus gibt an, wie und wann Ressourcenkosten sind die Kosten für einen Vorgang vorgenommen werden.
Öffentliche Enumeration BookingType Gibt an, wie Ressourcen für Zuordnungen gebuchten.
Öffentliche Enumeration CalendarRecurrenceDays Stellt die Wochentage für wiederkehrende Kalenderausnahmen.
Öffentliche Enumeration CalendarRecurrenceType Gibt an, welche Serie für eine Kalenderausnahme.
Öffentliche Enumeration CalendarRecurrenceWeek Gibt eine Woche des Monats, der verwendet wird, um einen Zeitplan einrichten.
Öffentliche Enumeration CommittedDecisionResult Gibt an, ob ein Element in einer Optimierer-Funktion oder eine Planner für projektportfolioanalyse enthalten ist.
Öffentliche Enumeration ConstraintType Gibt den Einschränkungstyp für einen Vorgang.
Öffentliche Enumeration CurrencySymbolPosition Gibt die Position des Währungssymbols.
Öffentliche Enumeration CustomFieldRollupType Gibt den zusammenfassenden Rollup-Typ für ein benutzerdefiniertes Feld.
Öffentliche Enumeration CustomFieldType Gibt den Typ für ein benutzerdefiniertes Enterprise-Feld.
Öffentliche Enumeration DependencyType Gibt den Typ der Abhängigkeit zwischen zwei Vorgängen herstellen.
Öffentliche Enumeration EnterpriseResourceType Stellt die verschiedenen Typen von Enterprise-Ressourcen dar.
Öffentliche Enumeration FixedCostAccrual Gibt an, wie und wann feste Kosten den Kosten eines Vorgangs belastet werden.
Öffentliche Enumeration JobState Der warteschlangenauftragsstatus für Project Server gibt den Status eines Auftrags zur Warteschlange.
Öffentliche Enumeration LookupTableConstants Gibt die maximale Werte und Mindestwerte für Lookup Tabellenentitäten.
Öffentliche Enumeration LookupTableMaskSequence Gibt die Reihenfolge Maske, die den Typ der Daten für eine Nachschlagetabelle ist.
Öffentliche Enumeration LookupTableSortOrder Gibt die Sortierreihenfolge für eine Nachschlagetabelle.
Öffentliche Enumeration OvertimeRateFormat Gibt die Zeiteinheit der der Überstundensatz für die Ressource an. d. h., die Anzahl der pro Zeiteinheit, wie etwa Dollar pro Stunde.
Öffentliche Enumeration ProjectDetailPageType Gibt den Typ der Projektdetailseite (PDP).
Öffentliche Enumeration ProjectType Gibt den Typ des Projekts.
Öffentliche Enumeration QueueMsgType Gibt die warteschlangennachrichtentyp für das Senden eines Auftrags an das Warteschlangensystem von Project Server an.
Öffentliche Enumeration ReadyToLeaveProjectStageValue Gibt die Project-Stage-Anforderungen in einer Project Server-Workflows, um zu ermitteln, ob der Workflow lassen Sie die Phase bereit ist.
Öffentliche Enumeration ResourceType Gibt die Typen von Ressourcen.
Öffentliche Enumeration StandardRateFormat Gibt die Zeiteinheit der der Ressourcensatz an. d. h., die Anzahl der pro Zeiteinheit, wie etwa Dollar pro Stunde.
Öffentliche Enumeration StrategicImpactBehavior Gibt an, wie strategische Auswirkungen Verhalten von Werten in einer Project Server-Workflow-Stufe.
Öffentliche Enumeration TaskType Gibt an, ob der Vorgangstyp in einem Projekt feste Einheiten, feste Dauer oder Feste Arbeit ist.
Öffentliche Enumeration TimeScale Gibt die Skalierung der Zeitphasendaten mit.
Öffentliche Enumeration TimeSheetEntryMode Enthält die Arbeitszeittabelle Eintrag Modi.
Öffentliche Enumeration TimeSheetLineClass Klassifizierungen, die definieren, die verschiedenen Verwendungsmöglichkeiten für eine Arbeitszeittabellen-Zeile darstellt.
Öffentliche Enumeration TimeSheetLineStatus Stellt die Statuseinstellungen, die auf eine Zeile der Arbeitszeittabelle angewendet werden können.
Öffentliche Enumeration TimeSheetStatus Stellt die Statuseinstellungen, die auf eine Arbeitszeittabelle angewendet werden können.
Öffentliche Enumeration TimeSheetValidationType Gibt den Satz der Validierungstypen für Arbeitszeittabellen-Zeilen.
Öffentliche Enumeration TrackingMode Gibt die Modi für die Nachverfolgung Vorgang in Arbeit.
Öffentliche Enumeration UpdateProjectStageStatusFieldValue Gibt den Status der Projektstufe in einer Project Server-Workflows.
Öffentliche Enumeration UtilizationType Gibt den Typ der Ressourcenverwendung für den aktuellen Ressourcenplan.
Öffentliche Enumeration 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.

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

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

  3. Festlegen von Verweisen auf die Assemblys, die in Schritt 1 angegeben sind.

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

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

Siehe auch

Referenz

Weitere Ressourcen

Client-side object model (CSOM) for Project Server

JavaScript API reference