I'm doing a presentation tonight for SUGUK on Silverlight in sharePoint and wanted to demo some of the Silverlight Blueprints for SharePoint.
Naturally I hit a few issues along the way so I thought I'd pass a few tips on.
A major requirement is to have .Net 3.5 and AJAX running on your SharePoint site. If you configure AJAX by hand as I did check this MSDN article for configuring AJAX but use 220.127.116.11 as the version number.
I configured AJAX by hand but there is also a CodePlex feature that can install AJAX on all your WFE.
It will also help to have Visual Studio 2008 and the Silverlight SDk installed on your dev box.
The first issue is that none of the XAP's as shipped will work on my machine. You'll get an error like this
checking the XAP files shows the shipped one has this as the first line of the manifest.
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App">
but if I recompile the source I get
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="SL.XAML.Navigation" EntryPointType="SL.XAML.Navigation.App" RuntimeVersion="2.0.30226.2">
The missing RuntimeVersion seems the key here, looks like the U2U folks were running a slightly different build of chiron the XAP compiler and certainly the Silverlight 2 runtime on my machine wont run a XAP without it.
So the fix is to recompile the Silverlight Applications and redeploy the XAP to the ClientBin directory in your IIS website directory.
Second and more bizarre is the Navigation Sample. If you try to run it you get an error about being unable to load the Assembly.
The problem here is that the PublicKey for the SL.Controls.Navigation.Dll is wrong in the MasterPage.
The MasterPage has 4aec304184eb9a69 when the DLL has bb99f30c0098259c.
The Fix is to change the MasterPage Register TagPrefix line to bb99f30c0098259c. You can use SharePoint Designer or uninstall the feature change it and then reinstall, reactivate.
This will happen when you dev with an internal snk file which has your company private keys in it and then decide you've got to change it before you ship. I've done exactly the same thing myself, it really helps to test it on a single machine outside your company first.
And IT LIVES