Freigeben über


Project.UpdateProjectSyncSettings-Methode

Aktualisiert die Daten in Project Server, der die Zuordnung für ein Projekt mit einer SharePoint-Aufgabenliste synchronisieren angibt.

Namespace:  WebSvcProject
Assembly:  ProjectServerServices (in ProjectServerServices.dll)

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/UpdateProjectSyncSettings", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Project/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub UpdateProjectSyncSettings ( _
    syncDataSet As SyncDataSet _
)
'Usage
Dim instance As Project
Dim syncDataSet As SyncDataSet

instance.UpdateProjectSyncSettings(syncDataSet)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Project/UpdateProjectSyncSettings", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Project/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void UpdateProjectSyncSettings(
    SyncDataSet syncDataSet
)

Parameter

  • syncDataSet
    Typ: WebSvcProject.SyncDataSet

    Enthält die aktualisierten Daten für ein Projekt mit einer SharePoint-Aufgabenliste synchronisieren.

Hinweise

Dies ist eine neue Methode in Project Server 2013. Die UpdateProjectSyncSettings -Methode funktioniert in einem Projekt, die bereits synchronisiert ist, in dem die Synchronisierung von Daten von der CreateWssListSyncedProject -Methode erstellt wurde.

Project Server-Berechtigungen

Berechtigung

Beschreibung

PublishProject

Ermöglicht einem Benutzer das Veröffentlichen eines Projekts in der veröffentlichten Project Server-Datenbank.

Beispiele

Im Beispiel wird den SvcProject -Namespace in der Assembly für ProjectServerServices.dll Proxy verwendet. Die ConfigClientEndpoints -Methode und die SetClientEndPoints -Methode verwenden einer App für den WCF-Bindung, Verhalten und Endpunkt festlegen. Informationen zum Erstellen einer PSI-Proxy-Assembly und eine App finden Sie unter Prerequisites for WCF-Based Code Samples.

Hinweis

Im folgende Beispiel dient zum mit veranschaulichen die Verwendung der UpdateProjectSyncSettings, SyncProjectWithWssund CreateWssListSyncedProject -Methoden. Es ist keine vollständige Lösung. Die GUIDs sind die erforderlichen Felder hartcodiert. Das Beispiel verwenden zu können, müssen Sie zunächst erstellen Sie eine SharePoint-Liste. Ändern Sie im Code die LIST_TITLE, die SHAREPOINT_LIST_SITEund andere Werte URL gegebenenfalls mit den bei der Testinstallation der Project Server 2013 übereinstimmen.

Die Lists.GetListCollection Web-Methode gibt ein XML-Dokument, die den Namen und GUIDs aller Listen in der SharePoint-Website enthält. Im Beispiel verwendet die XElement.Parse -Methode, um das XML-Dokument in ein XElement -Objekt mit dem Namen rootzu ändern. Die GetListGuid -Methode eine LINQ to XML-Abfrage für das root -Objekt wird dann und gibt die GUID der Liste entspricht der an den Titel der Liste zurück.

Der Inhalt der SyncDataSet werden in SyncDataSet.xmlgeschrieben. Im nächsten Schritt wird der Wert priority high project settings in 900 geändert. Die UpdateProjectSyncSettings -Methode aktualisiert die SyncDataSet mit dem neuen Wert ein.

Hinweis

Die Tabelle SyncTaskItemsMapping sollte leer sein, beim Aktualisieren der Project-Synchronisierungseinstellungen.

Nachfolgend sehen Sie den Inhalt der SyncDataSet vor der Aktualisierung:

<?xml version="1.0" standalone="yes"?>
<SyncDataSet xmlns="https://schemas.microsoft.com/office/project/server/webservices/SyncDataSet">
  <SyncProjectSettings>
    <SYNC_WSS_LIST_UID>9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <PROJ_UID>58a75120-fcb3-43a0-a811-1c11fc0dfed1</PROJ_UID>
    <SYNC_WSS_SERVER_URL>http://jc2vm1</SYNC_WSS_SERVER_URL>
    <SYNC_LAST_SYNC_DATE>2010-06-02T08:01:45.653-07:00</SYNC_LAST_SYNC_DATE>
  </SyncProjectSettings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    cda3b2ee-9af8-4d59-9581-1b682fd5fd6d</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Priority
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    cd21b4c2-6841-4f9e-a23a-738a65f99889</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Due Date
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    0328d1c7-fc8b-4c41-bd58-66c1a4ff390a</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>FinishDate
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    53101f38-dd2e-458c-b245-0c236cc13d1a</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Assigned To
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    914829a1-3151-48c4-8f40-6d9e8d5bfd0f</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Assigned To</SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    64cd368d-2f95-4bfc-a1f9-8d4324ecb007</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Start Date
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    870004dc-a44c-4f5d-9cc9-72ce3025481b</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>StartDate
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    d2311440-1ed6-46ea-b46d-daa643dc3886</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>% Complete
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    041965eb-bb89-4be9-8843-7a40f78f8ee4</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>PercentComplete
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    7662cd2c-f069-4dba-9e35-082cf976e170</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Body
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    9eb68d1f-caa3-41a8-8f6f-e97ae9fd0717</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Notes
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    fa564e0f-0c70-4ab9-b863-0177e6ddd247</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Title
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    9594ab82-f7fd-4336-a387-f5d842e53ea5</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Title
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncItemTaskMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_LIST_ITEM_ID>1
    </SYNC_WSS_LIST_ITEM_ID>
    <SYNC_TASK_UID>
    36e2e450-3a57-4a80-b94e-fcb1cb56e3e7</SYNC_TASK_UID>
  </SyncItemTaskMappings>
  <SyncItemTaskMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_LIST_ITEM_ID>2
    </SYNC_WSS_LIST_ITEM_ID>
    <SYNC_TASK_UID>
    822adcfd-d358-44fe-9ed0-c6d557cb6458</SYNC_TASK_UID>
  </SyncItemTaskMappings>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(1) High
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>600
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(2) Normal
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>500
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(3) Low
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>400
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
</SyncDataSet>

Nachfolgend sehen Sie den Inhalt der aktualisierten SyncDataSet:

<?xml version="1.0" standalone="yes"?>
<SyncDataSet xmlns="https://schemas.microsoft.com/office/project/server/webservices/SyncDataSet">
  <SyncProjectSettings>
    <SYNC_WSS_LIST_UID>9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <PROJ_UID>58a75120-fcb3-43a0-a811-1c11fc0dfed1</PROJ_UID>
    <SYNC_WSS_SERVER_URL>http://jc2vm1</SYNC_WSS_SERVER_URL>
    <SYNC_LAST_SYNC_DATE>2010-06-02T08:01:45.653-07:00</SYNC_LAST_SYNC_DATE>
  </SyncProjectSettings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    cda3b2ee-9af8-4d59-9581-1b682fd5fd6d</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Priority
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    cd21b4c2-6841-4f9e-a23a-738a65f99889</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Due Date
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    0328d1c7-fc8b-4c41-bd58-66c1a4ff390a</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>FinishDate
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    53101f38-dd2e-458c-b245-0c236cc13d1a</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Assigned To
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    914829a1-3151-48c4-8f40-6d9e8d5bfd0f</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Assigned To</SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    64cd368d-2f95-4bfc-a1f9-8d4324ecb007</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Start Date
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    870004dc-a44c-4f5d-9cc9-72ce3025481b</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>StartDate
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    d2311440-1ed6-46ea-b46d-daa643dc3886</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>% Complete
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    041965eb-bb89-4be9-8843-7a40f78f8ee4</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>PercentComplete
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    7662cd2c-f069-4dba-9e35-082cf976e170</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Body
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    9eb68d1f-caa3-41a8-8f6f-e97ae9fd0717</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Notes
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncFieldMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    fa564e0f-0c70-4ab9-b863-0177e6ddd247</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Title
    </SYNC_WSS_FIELD_NAME>
    <SYNC_PROJECT_FIELD_UID>
    9594ab82-f7fd-4336-a387-f5d842e53ea5</SYNC_PROJECT_FIELD_UID>
    <SYNC_PROJECT_FIELD_NAME>Title
    </SYNC_PROJECT_FIELD_NAME>
    <SYNC_IS_PROJECT_CUSTOM_FIELD>false
    </SYNC_IS_PROJECT_CUSTOM_FIELD>
  </SyncFieldMappings>
  <SyncItemTaskMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_LIST_ITEM_ID>1
    </SYNC_WSS_LIST_ITEM_ID>
    <SYNC_TASK_UID>
    36e2e450-3a57-4a80-b94e-fcb1cb56e3e7</SYNC_TASK_UID>
  </SyncItemTaskMappings>
  <SyncItemTaskMappings>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_LIST_ITEM_ID>2
    </SYNC_WSS_LIST_ITEM_ID>
    <SYNC_TASK_UID>
    822adcfd-d358-44fe-9ed0-c6d557cb6458</SYNC_TASK_UID>
  </SyncItemTaskMappings>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(1) High
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>900
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(2) Normal
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>500
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
  <SyncValueTranslations>
    <SYNC_WSS_LIST_UID>
    9419bc3c-8084-4d58-a0bf-c8c0df016254</SYNC_WSS_LIST_UID>
    <SYNC_WSS_FIELD_UID>
    a8eb573e-9e11-481a-a8c9-1104a54b2fbd</SYNC_WSS_FIELD_UID>
    <SYNC_WSS_FIELD_NAME>Priority
    </SYNC_WSS_FIELD_NAME>
    <SYNC_WSS_VALUE>(3) Low
    </SYNC_WSS_VALUE>
    <SYNC_PROJECT_VALUE>400
    </SYNC_PROJECT_VALUE>
  </SyncValueTranslations>
</SyncDataSet>

Der vollständige Beispielcode lautet wie folgt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.IO;
using System.ServiceModel;
using System.Xml;
using System.Xml.Linq;
using PSLibrary = Microsoft.Office.Project.Server.Library;
using System.Data;
using System.Web.Services;
using WebSvcLists = Microsoft.SDK.Project.Samples.ReadArchivedProjectsList.WebSvcLists;

namespace Microsoft.SDK.Project.Samples.SyncProject
{
    class Program
    {
        // Change the URL of the SharePoint list site and the name of the task list.
        private const string SHAREPOINT_LIST_SITE = "http://jc2vm1";
        private const string LIST_TITLE = "Task List 102";

        private const string ENDPOINT_PROJECT = "basicHttp_Project";
        private const string OUTPUT_FILES = @"C:\Projects\Samples\Output\";
        private static string outFilePathSyncDataSet;
        private static string outFilePathUpdatedSyncDS;

        private static SvcProject.ProjectClient projectClient;
        private static WebSvcLists.Lists lists;
        
        // The GUIDs of the default fields are the same in all 
        // SharePoint 2010 default task lists.
        private const string PRIORITY_LIST_FIELD_GUID =
            "a8eb573e-9e11-481a-a8c9-1104a54b2fbd";
        private const string DUEDATE_LIST_FIELD_GUID =
            "cd21b4c2-6841-4f9e-a23a-738a65f99889";
        private const string STARTDATE_LIST_FIELD_GUID =
            "64cd368d-2f95-4bfc-a1f9-8d4324ecb007";
        private const string BODY_LIST_FIELD_GUID =
            "7662cd2c-f069-4dba-9e35-082cf976e170";
        private const string ASSIGNEDTO_LIST_FIELD_GUID =
            "53101f38-dd2e-458c-b245-0c236cc13d1a";
        private const string PERCENTCOMPLETE_LIST_FIELD_GUID =
            "d2311440-1ed6-46ea-b46d-daa643dc3886";
        private const string TITLE_LIST_FIELD_GUID =
            "fa564e0f-0c70-4ab9-b863-0177e6ddd247";
        private const string PRIORITY_FIELD_GUID = 
            "a8eb573e-9e11-481a-a8c9-1104a54b2fbd";

        private static XElement root;  // The root of the list XML data.

        static void Main(string[] args)
        {
            lists = new WebSvcLists.Lists();
            lists.Url = "http://jc2vm1/_vti_bin/lists.asmx";
            lists.Credentials = CredentialCache.DefaultCredentials;

            // Get the XML data for the lists in the specified 
            // SharePoint lists collection.
            XmlNode listData = lists.GetListCollection();

            root = XElement.Parse(listData.OuterXml);

            string projectName = string.Empty;
            Guid listUid = GetListGuid(root, LIST_TITLE, out projectName);
            
            // If the output directory does not exist, create it.
            if(!Directory.Exists(OUTPUT_FILES))
            {
                Directory.CreateDirectory(OUTPUT_FILES);
            }

            // Assign the path where the output XML file will be saved.
            outFilePathSyncDataSet = OUTPUT_FILES + "SyncDataSet.xml";
            outFilePathUpdatedSyncDS = OUTPUT_FILES + "UpdatedSyncDataSet.xml";

            // Configure the endpoints.
            ConfigClientEndpoints(ENDPOINT_PROJECT);

            try
            {
                // Create Sync Dataset.
                SvcProject.SyncDataSet syncDS = CreateSyncDataSet(listUid);

                // Create the project.
                Guid CreatedProject_Guid = projectClient.CreateWssListSyncedProject(
                    syncDS, projectName);
                Guid[] syncEntityGuids = new Guid[1];
                syncEntityGuids[0] = listUid;

                // Read back the SyncDataSet, and write it to a file.
                SvcProject.SyncEntityUidType syncEntityUidType =
                    SvcProject.SyncEntityUidType.WssListUid;
                syncDS = projectClient.ReadProjectSyncSettings
                        (syncEntityGuids, syncEntityUidType, true);
                syncDS.WriteXml(outFilePathSyncDataSet);

                // Update project synchronization settings.
                syncDS.SyncValueTranslations.Rows[0]["SYNC_PROJECT_VALUE"] = "900";

                // No values are allowed in the SyncItemTaskMappings table, 
                // when updating the project synchronization settings.
                syncDS.SyncItemTaskMappings.Clear();
                syncDS.AcceptChanges();

                projectClient.UpdateProjectSyncSettings(syncDS);
                syncDS.WriteXml(outFilePathUpdatedSyncDS);

                // Synchronize the updated project.
                projectClient.SyncProjectWithWss(listUid, syncEntityUidType);
            }
            catch (CommunicationException e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(
                    "\n***System.ServiceModel.CommunicationException:");
                Console.WriteLine(e.ToString());
                Console.ResetColor();
            }
            Console.WriteLine("\n\nPress any key to exit.");
            Console.ReadKey(false);
        }

        static Guid GetListGuid(XElement listCollection, string listTitle, 
            out string projectName)
        {
            string listId = string.Empty;
            XNamespace xmlns = "https://schemas.microsoft.com/sharepoint/soap/";

            var query = from el in root.Elements(xmlns + "List")
                        where el.Attribute("Title").Value.Equals(listTitle)
                        select el;

            int numElem = query.Count<XElement>();
            Console.WriteLine("Number of elements in query: " + numElem.ToString());

            projectName = query.First<XElement>().Attribute("Title").Value;
            Console.WriteLine(projectName);

            listId = query.First<XElement>().Attribute("ID").Value;
            Guid listUid = new Guid(listId);
            Console.WriteLine("List ID = " + listUid.ToString());
            return listUid;
        }

        // Create the initial SyncDataSet, to use for synchronizing
        // a project the first time.
        static SvcProject.SyncDataSet CreateSyncDataSet(Guid listUid)
        {
            SvcProject.SyncDataSet syncDS = new SvcProject.SyncDataSet();

            string priority = PSLibrary.WSSSync.PriorityFieldName;
            string wssDuedate = "Due Date";
            string projectDueDate = PSLibrary.WSSSync.FinishDateFieldName;
            string wssAssignedTo = "Assigned To";
            string projectAssignedTo = PSLibrary.WSSSync.AssignedToFieldName;
            string wssStartDate = "Start Date";
            string projectStartDate = PSLibrary.WSSSync.StartDateFieldName;
            string wssPercentComplete = "% Complete";
            string projectPercentComplete = PSLibrary.WSSSync.PercentCompleteFieldName;
            string wssBody = "Body";
            string projectNotes = PSLibrary.WSSSync.PercentCompleteFieldName;
            string title = "Title";
            string priorityHigh = "(1) High";
            string priorityNormal = "(2) Normal";
            string priorityLow = "(3) Low";
            string priorityHighValue = "600";
            string priorityNormalValue = "500";
            string priorityLowValue = "400";

            // Project field GUIDs are the same for all projects.
            Guid PRIORITY_PROJECT_FIELD_GUID = PSLibrary.WSSSync.PriorityFieldUid;
            Guid FINISHDATE_PROJECT_FIELD_GUID = PSLibrary.WSSSync.FinishDateFieldUid;
            Guid ASSIGNEDTO_PROJECT_FIELD_GUID = PSLibrary.WSSSync.AssignedToFieldUid;
            Guid STARTDATE_PROJECT_FIELD_GUID = PSLibrary.WSSSync.StartDateFieldUid;
            Guid PERCENTCOMPLETE_PROJECT_FIELD_GUID = PSLibrary.WSSSync.PercentCompleteFieldUid;
            Guid NOTES_PROJECT_FIELD_GUID = PSLibrary.WSSSync.DescriptionFieldUid;
            Guid TITLE_PROJECT_FIELD_GUID = PSLibrary.WSSSync.TitleFieldUid;

            // Create a SyncProjectSettings row.
            SvcProject.SyncDataSet.SyncProjectSettingsRow synProjectSettingRow = 
                syncDS.SyncProjectSettings.NewSyncProjectSettingsRow();
            synProjectSettingRow.SYNC_WSS_LIST_UID = listUid;
            synProjectSettingRow.PROJ_UID = Guid.NewGuid();
            synProjectSettingRow.SYNC_WSS_SERVER_URL = SHAREPOINT_LIST_SITE;
            syncDS.SyncProjectSettings.AddSyncProjectSettingsRow(
                synProjectSettingRow);

            // Add SyncFieldMappingsRows.
            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow.SYNC_WSS_FIELD_UID = 
                new Guid(PRIORITY_LIST_FIELD_GUID);
            syncFieldMappingsRow.SYNC_WSS_FIELD_NAME = priority;
            syncFieldMappingsRow.SYNC_PROJECT_FIELD_UID = 
                PRIORITY_PROJECT_FIELD_GUID;
            syncFieldMappingsRow.SYNC_PROJECT_FIELD_NAME = priority;
            syncFieldMappingsRow.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow1 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow1.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow1.SYNC_WSS_FIELD_UID = 
                new Guid(DUEDATE_LIST_FIELD_GUID);
            syncFieldMappingsRow1.SYNC_WSS_FIELD_NAME = wssDuedate;
            syncFieldMappingsRow1.SYNC_PROJECT_FIELD_UID = 
                FINISHDATE_PROJECT_FIELD_GUID;
            syncFieldMappingsRow1.SYNC_PROJECT_FIELD_NAME = projectDueDate;
            syncFieldMappingsRow1.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow1);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow2 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow2.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow2.SYNC_WSS_FIELD_UID = 
                new Guid(ASSIGNEDTO_LIST_FIELD_GUID);
            syncFieldMappingsRow2.SYNC_WSS_FIELD_NAME = wssAssignedTo;
            syncFieldMappingsRow2.SYNC_PROJECT_FIELD_UID = 
                ASSIGNEDTO_PROJECT_FIELD_GUID;
            syncFieldMappingsRow2.SYNC_PROJECT_FIELD_NAME = projectAssignedTo;
            syncFieldMappingsRow2.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow2);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow3 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow3.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow3.SYNC_WSS_FIELD_UID = 
                new Guid(STARTDATE_LIST_FIELD_GUID);
            syncFieldMappingsRow3.SYNC_WSS_FIELD_NAME = wssStartDate;
            syncFieldMappingsRow3.SYNC_PROJECT_FIELD_UID = 
                STARTDATE_PROJECT_FIELD_GUID;
            syncFieldMappingsRow3.SYNC_PROJECT_FIELD_NAME = projectStartDate;
            syncFieldMappingsRow3.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow3);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow4 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow4.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow4.SYNC_WSS_FIELD_UID = 
               new Guid(PERCENTCOMPLETE_LIST_FIELD_GUID);
            syncFieldMappingsRow4.SYNC_WSS_FIELD_NAME = wssPercentComplete;
            syncFieldMappingsRow4.SYNC_PROJECT_FIELD_UID = 
                PERCENTCOMPLETE_PROJECT_FIELD_GUID;
            syncFieldMappingsRow4.SYNC_PROJECT_FIELD_NAME = 
                projectPercentComplete;
            syncFieldMappingsRow4.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow4);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow5 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow5.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow5.SYNC_WSS_FIELD_UID = 
                new Guid(BODY_LIST_FIELD_GUID);
            syncFieldMappingsRow5.SYNC_WSS_FIELD_NAME = wssBody;
            syncFieldMappingsRow5.SYNC_PROJECT_FIELD_UID = 
                NOTES_PROJECT_FIELD_GUID;
            syncFieldMappingsRow5.SYNC_PROJECT_FIELD_NAME = projectNotes;
            syncFieldMappingsRow5.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow5);

            SvcProject.SyncDataSet.SyncFieldMappingsRow syncFieldMappingsRow6 =
                syncDS.SyncFieldMappings.NewSyncFieldMappingsRow();
            syncFieldMappingsRow6.SYNC_WSS_LIST_UID = listUid;
            syncFieldMappingsRow6.SYNC_WSS_FIELD_UID = 
                new Guid(TITLE_LIST_FIELD_GUID);
            syncFieldMappingsRow6.SYNC_WSS_FIELD_NAME = title;
            syncFieldMappingsRow6.SYNC_PROJECT_FIELD_UID = 
                TITLE_PROJECT_FIELD_GUID;
            syncFieldMappingsRow6.SYNC_PROJECT_FIELD_NAME = title;
            syncFieldMappingsRow6.SYNC_IS_PROJECT_CUSTOM_FIELD = false;
            syncDS.SyncFieldMappings.AddSyncFieldMappingsRow(
                syncFieldMappingsRow6);

            // Add SyncValueTranslationsRow.        
            //SvcProject.SyncDataSet.SyncValueTranslationsRow
            //    syncValueTranslationsRow = 
            //    syncDS.SyncValueTranslations.NewSyncValueTranslationsRow();

            SvcProject.SyncDataSet.SyncValueTranslationsRow
                syncValueTranslationsRow1 = 
                syncDS.SyncValueTranslations.NewSyncValueTranslationsRow();
            syncValueTranslationsRow1.SYNC_WSS_LIST_UID = listUid;
            syncValueTranslationsRow1.SYNC_WSS_FIELD_UID = new Guid(PRIORITY_FIELD_GUID);
            syncValueTranslationsRow1.SYNC_WSS_FIELD_NAME = priority;
            syncValueTranslationsRow1.SYNC_WSS_VALUE = priorityHigh;
            syncValueTranslationsRow1.SYNC_PROJECT_VALUE = priorityHighValue;
            syncDS.SyncValueTranslations.AddSyncValueTranslationsRow(syncValueTranslationsRow1);

            SvcProject.SyncDataSet.SyncValueTranslationsRow
                syncValueTranslationsRow2 = syncDS.SyncValueTranslations.NewSyncValueTranslationsRow();
            syncValueTranslationsRow2.SYNC_WSS_LIST_UID = listUid;
            syncValueTranslationsRow2.SYNC_WSS_FIELD_UID = new Guid(PRIORITY_FIELD_GUID);
            syncValueTranslationsRow2.SYNC_WSS_FIELD_NAME = priority;
            syncValueTranslationsRow2.SYNC_WSS_VALUE = priorityNormal;
            syncValueTranslationsRow2.SYNC_PROJECT_VALUE = priorityNormalValue;
            syncDS.SyncValueTranslations.AddSyncValueTranslationsRow(syncValueTranslationsRow2);

            SvcProject.SyncDataSet.SyncValueTranslationsRow
                syncValueTranslationsRow3 = syncDS.SyncValueTranslations.NewSyncValueTranslationsRow();
            syncValueTranslationsRow3.SYNC_WSS_LIST_UID = listUid;
            syncValueTranslationsRow3.SYNC_WSS_FIELD_UID = new Guid(PRIORITY_FIELD_GUID);
            syncValueTranslationsRow3.SYNC_WSS_FIELD_NAME = priority;
            syncValueTranslationsRow3.SYNC_WSS_VALUE = priorityLow;
            syncValueTranslationsRow3.SYNC_PROJECT_VALUE = priorityLowValue;
            syncDS.SyncValueTranslations.AddSyncValueTranslationsRow(syncValueTranslationsRow3);
 
            return syncDS;
        }

        // Configure the client endpoints.
        public static void ConfigClientEndpoints(string endpt)
        {
            projectClient = new SvcProject.ProjectClient(endpt);
        }
    }
}

Siehe auch

Referenz

Project Klasse

Project-Member

WebSvcProject-Namespace