Solution Design

In the Client Visual Studio solution, the Client.SharePoint project packages and deploys all of the solution components to the SharePoint environment. This project contains four features:

  • Libraries. This feature provisions two document libraries to the target SharePoint site. The CustomScripts library is provisioned to store the JavaScript files required by the Ajax implementations, and the SilverlightApps library is provisioned to store the XAP files required by the Silverlight implementations. Both libraries are based on the standard document library list definition.
  • Pages. This feature provisions ASPX pages to host the Ajax components and Silverlight controls required by each user interface. The CustomPage.aspx file is deployed to several different virtual URLs, with a Silverlight Web Part configured differently in each case, for each of the Silverlight user interfaces. The JavascriptWithCSOM.aspx file and the JavascriptWithREST.aspx file host the corresponding Ajax user interfaces. The pages themselves can be found in the CustomPages module.
  • JavaScript Files. This feature provisions the JavaScript files required by the Ajax user interfaces to the CustomScripts library. The JavaScript files themselves can be found in the Scripts module.
  • Silverlight Apps. This feature provisions the XAP files required by the Silverlight user interfaces to the SilverlightApps library. Each XAP file represents the compiled output of one of the Silverlight projects in the solution. The XAP files are referenced in the Silverlight module.

The JavaScript Files feature and the Silverlight Apps feature include dependencies on the Libraries feature, as the document libraries must be in place before the JavaScript files and XAP files can be deployed. This is illustrated by the following diagram.

Feature activation dependencies for the Client RI


If you want to follow the execution of a Silverlight application, you can debug the application from within the Client solution. To do this, on the Properties page for the Client.SharePoint project, on the SharePoint tab, select EnableSilverlight debugging (instead of Script debugging), as shown in the following image.

Enabling Silverlight debugging