Configure Proxy Assembly and Intellisense for ASMX Web Services in Microsoft Project 2010

This document shows how to add and use the Intellisense XML files for the public libraries and Web services in Microsoft® Project Server 2010. To get Intellisense descriptions for ASMX Web services, you must set a reference in Visual Studio to a proxy assembly for the Web services. If you simply set a reference to an individual service, or use a proxy source file for the service, Intellisense descriptions do not show.

Create an ASMX Web Service Proxy Assembly (After installing SDK)

The WSDL\Source.zip file contains the source files for compiling an ASMX-based proxy assembly for the PSI.  For example: D:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WSDL\Source.zip

  1. Unzip Source.zip creating a Source Sub Directory.
  2. Run a Command Prompt window as administrator, and then navigate to D:\Program Files (x86)\Microsoft SDKs\Project 2010\Documentation\Intellisense\WSDL
  3. In the Command Prompt window, run the CompileWCFProxyAssembly command, which creates the ProjectServerServices.dll assembly.

Installing the Intellisense Files

The Intellisense XML files need to be in the same directory as the assemblies to which you set references. It is easiest to put the PSI proxy assembly and copies of the documented Project Server assemblies in one directory, and then copy the Intellisense XML files to the same place. You then set references to those assemblies in the Visual Studio Solution Explorer.

Create a directory on the Project Server computer, or on the local development computer. For example, create C:\Project\Assemblies.

Copy the following assemblies and any others you need to C:\Project\Assemblies.
Copy the correct ProjectServerServices.dll proxy assembly from the WSDL directory in the SDK download
Copy the following assemblies from C:\Program Files\Microsoft Office Servers\14.0\Bin:
  Microsoft.Office.Project.Server.Events.Receivers.dll
  Microsoft.Office.Project.Server.Library.dll
  Microsoft.Office.Project.Server.Workflow.dll
Copy the following Intellisense XML files from the Intellisense subdirectory of the Project 2010 SDK:
  Microsoft.Office.Project.Server.Events.Receivers.xml
  Microsoft.Office.Project.Server.Library.xml
  Microsoft.Office.Project.Server.Workflow.xml
  ProjectServerServices.xml

Now the C:\Project\Assemblies directory would contain the following files
:
Microsoft.Office.Project.Server.Events.Receivers.dll
Microsoft.Office.Project.Server.Events.Receivers.xml
Microsoft.Office.Project.Server.Library.dll
Microsoft.Office.Project.Server.Library.xml
Microsoft.Office.Project.Server.Workflow.dll
Microsoft.Office.Project.Server.Workflow.xml
ProjectServerServices.dll
ProjectServerServices.xml

Notes: If you are also developing with Microsoft SharePoint Foundation 2010 and Microsoft SharePoint Server 2010, copy the SharePoint assemblies you need. Unless you are using only the SharePoint Client assembly (Microsoft.SharePoint.Client.dll), development with SharePoint needs to be done on the Project Server computer.

How to use the Proxy Assembly for Connections etc.
You must set a reference to the proxy assembly in Visual Studio Solution like you would set a reference to any other assembly (not a web reference).

Note: For existing projects that already have Web or service references that are duplicated in the proxy assembly, remove those references.

Use the namespaces created in the proxy assembly for programming with the services, names as follows:

SvcAdmin
SvcArchive
SvcCalendar
SvcCubeAdmin
SvcCustomFields
SvcDriver
SvcEvents
SvcLoginForms
SvcLoginWindows
SvcLookupTable
SvcNotifications

SvcObjectLinkProvider
SvcPortfolioAnalyses
SvcProject
SvcQueueSystem
SvcResourcePlan
SvcResource
SvcSecurity
SvcStatusing
SvcTimeSheet
SvcWorkflow
SvcWssInterop

For example, the following statement creates a project object from the Project class: private static SvcProject.Project project = new SvcProject.Project();

Advertisements