How-To Q&A: Silverlight Startup and Moving Troubles
Kathleen Dollard tackles a pair of questions relating to cryptic errors produced by Silverlight.
A reader asks: I’m moving a Silverlight project from Visual Studio 2008 to 2010 and the Editable and Display attributes are not found on compile. System.Data.Annotations.dll is referenced and I do have the correct using statements. This is happening in a file that is linked between Silverlight and the server and occurs only on the server. Do you know what’s going on?
Kathleen Answers: Check the target versions of the framework to be sure you’re targeting the correct version. While Visual Studio 2010 can target earlier versions of the .NET Framework, you may have a mismatched set of assemblies. Visual Studio does not change the target framework when moving from Visual Studio 2008 to Visual Studio 2010.
A word of caution about Visual Studio versions and .NET Framework targeting. While you can target earlier versions of the .NET Framework with Visual Studio 2010, opening a project in Visual Studio 2010 changes the project and assembly files so the project cannot be opened in Visual Studio 2008 (or in earlier versions of the framework). Since most organizations can’t simultaneously upgrade all programmers, this means upgrading on a project by project basis, not an individual by individual basis. Use source control, because it will be very easy for people to prematurely move a project into VS2010.
A reader asks: I am getting the following error when I start up my Silverlight application.
[Click on image for larger view.]
|Figure 1.Mystery error at Silverlight startup.
Do you know what might cause this?
Kathleen Answers: One of the most common reasons for this message is that the startup object is incorrect, possibly because you changed namespaces or renamed the startup object. You set the startup object on the Silverlight tab or the Project Properties dialog. Since the startup object combo box contains the valid targets, resetting the startup object is a quick way to bypass any typos that may have been introduced.
A less likely possibility is that the xap file used for deployment is incorrectly built or corrupt. While you could explore the manifest and ensure all the files marked as assembly parts are present, deleting and recreating your xap file will probably also do the trick. Since the xap file is actually a zip file, so you can explore it with Windows File Explore if you rename a copy to have a .zip extension.
Kathleen is a consultant, author, trainer and speaker. She’s been a Microsoft MVP for 10 years and is an active member of the INETA Speaker’s Bureau where she receives high marks for her talks. She wrote "Code Generation in Microsoft .NET" (Apress) and often speaks at industry conferences and local user groups around the U.S. Kathleen is the founder and principal of GenDotNet and continues to research code generation and metadata as well as leveraging new technologies springing forth in .NET 3.5. Her passion is helping programmers be smarter in how they develop and consume the range of new technologies, but at the end of the day, she’s a coder writing applications just like you. Reach her at firstname.lastname@example.org.