Silverlight 5 Backward Compatibility

2019-04-07 11:22发布

问题:

I have a Silverlight application developed with version 4.0. I tried running it with Silverlight 5 client and everything seems to be fine up to now.

But I am wondering; if my users installs Silverlight 5 for client, is it sure my application will still work well? Do I have to run all my Test Cases again?

If anyone notices something that has been broke between versions, please list it here! :)

Thanks

回答1:

There's little evidence around the internet at the moment, other than that published by Microsoft, which can be found here and here, which states, to summarise:

Several changes have been made to the Silverlight runtime and the Silverlight Tools between Silverlight 4 and Silverlight 5. For these changes, the following principles apply:

  • Most Silverlight 4 applications will work with Silverlight 5 without any changes.

  • When breaking changes are required, Silverlight will try to maintain support for the old behavior, as well as the new behavior, by using a quirks mode.

Nevertheless, some changes made to Silverlight components can potentially cause your older Silverlight-based applications to fail (compile time, XAML load time, or possibly design time) or to behave differently.

And,

There are no known breaking changes between Silverlight 4 and Silverlight 5 in the Silverlight core runtime. Applications that were originally compiled using Silverlight 4 tools, and that continue to target the Silverlight 4 runtime, should work without issues on a client that has the Silverlight 5 runtime.

If your project references any Silverlight SDK client assemblies [...] make sure that your project specifically references the Silverlight 5 version of the SDK client assemblies [...]. A project that targets Silverlight 5 cannot use the Silverlight 4 SDK assemblies.

There's more information in the links I provide, for instance, related to quirks mode, third party references, and behavioural changes.



回答2:

I have a project with a Silverlight 4 tool used to display a barchart etc. The Project upgrade to VS2013 automatically upgraded to Silverlight 5 and there were no warnings. I worked on other areas of the project and only by chance did I actually run it in debug mode to find that the display was broken somewhere inside the tool. I managed to scamper back to VS2012 and scavenge the changes I had made in the VS2013 version of the project.