Upgrading your project to Silverlight Alpha 1.1 Refresh

Michael Schwarz on Tuesday, July 31, 2007

Scott Hanselman [1] wrote on his blog about how to upgrade your project from Silverlight 1.1 Alpha to Alpha Refresh [2]. There are a couple of breaking changes in Silverlight 1.0 RC1 [3]. Because the 1.1 version does include the same core it will be necessary to change Silverlight Alpha 1.1 projects, too.

With the new Silverlight.js you create the plugin like following lines:

Silverlight.createObjectEx({
source: "Page.xaml",
parentElement: document.getElementById("MyHost"),
id: "MyControl",
properties: {
width: "100%",
height: "100%",
version: "1.1",
enableHtmlAccess: "true",
inplaceInstallPrompt: "true",
ignoreBrowserVer: "true"
},
events: {}
});

You may have noticed that the Sys. namespace has been removed. Another change is that almost all properties are Strings, now. The reason for this is that some of the properties are used as <OBJECT/> parameters later which will be a simple long text string.

In one of my projects I have created a jQuery [4] plugin for Silverlight which will allow you to simple add Silverlight controls to the Web page. I will modify the jQuery plugin to work with the RC1.

I have noticed that if you are using i.e. the Downloader in the .NET source code you will not get any error message if you are using the old DLLs with the new plugin. You have to compile it agains the new core DLLs and then you will get the error message that the Downloader class will only accept asynchrounus calls, now, and that the 3rd parameter for the Open method is obsolete. I would like to see a error message in the future when the downloaded DLL is not compatible with the current version of the plugin.

You will find a lot of changes in the Changes from Alpha.docx which is included in the Alpha 1.1 Refresh SDK [5].