×

First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

In a previous post I wanted to call attention to the multi-targeting and design surface improvements for Silverlight developers with Visual Studio 2010 Beta 1.  There has been some comments on that post and a few emails and Twitter replies as well with some great follow-up questions.  I thought I’d post a sort of what works with what information to help you navigate Betaville as a Silverlight developer.

NOTE: We’re talking about Beta technologies here.  That means things may not work, that you shouldn’t count on them for production releases at this time, etc.  In the ‘release early, release often’ mantra of things, I know Microsoft may not follow the ‘often’ side of things, but we sure do release early a lot of things.  It is important to have a perspective that this is for mutual benefit, but also remember that it is beta and things may just not work in harmony.

Being an early adopter usually means you are on the edge.  Standing on that edge of technology comes pain with betas at times.  Add to that multiple beta technologies and you may feel like you are pulling your hair out constantly.  Me too.  Here’s the spectrum of things for a Silverlight developer from a current (as of May 2009) perspective.

Silverlight 2 Development

Silverlight 2 has been released for a while now (since Oct 2008) and is production-ready for you to use.  There is full tool support in both Visual Studio 2008 SP1 (just install the Silverlight tools for VS2008) and Blend 2 SP1.  Both VS2008 and Blend 2 can share project files in harmony and edit back and forth.

The recent Visual Studio 2010 Beta 1 (referred to in this post VS10 so I don’t have to keep typing out beta) will also support Silverlight 2 development.  The Silverlight tools will not install on top of VS10 and you’ll get a warning if you try.  If all you want is Silverlight 2 development in VS10 right now, install the Silverlight 2 SDK and the Silverlight 2 developer runtime.  That’s it…you can then develop Silverlight 2 applications.

Silverlight 3 Development

Silverlight 3 is currently in beta as are the associated tools (Silverlight 3 tools for VS2008 and Blend 3).  A lot of people have been working fine with these in beta and everything works well.  VS2008 can author SL3 projects and Blend 3 can open them no problem.  Both of these are still in beta right now, but it is important to know that Silverlight 3 release tools will be VS2008 and Blend 3.

For VS10 and Silverlight 3, the situation with the tools is similar to Silverlight 2.  The Silverlight tools installer will still not run on VS10.  If you want to add Silverlight 3 development to your VS10 environment, you can follow my previous post instructions, which basically is to install the SL3 SDK and SL3 developer runtime.  At this time, VS10 will only target Silverlight 3 beta and will also not run the .NET RIA Services bits that you might be using.

What about Blend and Visual Studio 2010 Beta 1?

With VS10 there are some caveats.  With VS10 you can create multi-target solutions.  You can see this when you create a new project in VS10:

Visual Studio 10 multi-targeting

Now for the caveat.  If you select .NET Framework 4 in VS10, and then open your project in Blend 2 you will see this warning:

Blend warning on opening VS10 solution file

In my experience under simple circumstances you can still open it and work with files.  Here’s where beta life starts getting confusing.  If your Silverlight application is just the application, you will see the above warnings and should be able to edit (regardless of if your target in the new project window was .NET Framework 4 or 3.5).  Now, if you also added a web project to your solution and open it in Blend 3 Preview, you will see this:

Blend warning on opening up .NET 4 project

Indicating that the web project type is not supported at this time in Blend 3.  The solution will open in blend (if you say yes) but your web project will have a “?” next to it and read (unsupported project).  You’ll still be able to edit the Silverlight application, but not do anything with the web project.

What about WPF projects then?!

If your target selection was .NET Framework 3.5 then you’ll still get the first warning, but should be able to work with the project.  If your target selection was .NET Framework 4, then you’ll get the unsupported warning and won’t be able to work with this.  Oddly enough, Blend 2 will open the .NET 4 project, weird.  In either route, when you compile in blend you’ll see this note:

   1: Project file contains ToolsVersion="4.0", which is not supported by this version of MSBuild.  
   2: Treating the project as if it had ToolsVersion="3.5".

That should tell you something if you think Blend 2 is going to build your .NET 4 project just because it will open :-).

Why is it this way and when will it all work?

Ah, the magic crystal ball.  If we could get all the teams on the same ship cycle it would be easy, but it just isn’t that way right now.  Basically VS10 went into beta 1 lockdown before certain things for Silverlight and Blend tools were able to hit certain milestones.  So given that, here’s where we stand.

NOTE: Expression Encoder outputs either Silverlight 1.0 or Silverlight 2 templates and the output are completed projects.  If you open up the source for an Encoder project it will prompt the VS10 upgrade wizard, or in VS2008 just open for you to edit (assuming you have the Silverlight tools installed)

For Blend 3 and VS10 projects to work in harmony, an update to the Expression Blend 3 preview that supports Visual Studio 2010 and .NET Framework 4 projects is expected to be available in Q3 of 2009.

For VS10 and Silverlight 3 RTW/.NET RIA Services working, we’re looking at an update to VS10 would be needed and we haven’t determined a timeframe on that just yet.

What should I do?

Well, as a Silverlight developer, I’ve given my opinion already.  Until that update for VS10 happens to enable Silverlight 3 RTW and .NET RIA Services development, I think the best option will still be the released tools for the environment (VS2008, Blend 3).  Consider VS10 something to look at, but not ready just yet for full Silverlight 3 development.

For other project types like ASP.NET, WPF, WinForms, etc. you’ll still be able to multi-target in VS10 and most of these are released right now so you should be in a decent environment.  WPF caveats above still apply as most WPF developers also rely on Blend as a tool for their projects.

Summary

I know this is totally confusing and it sucks.  After re-reading this, my own head spins.  It is easy for us to say it is the pain of an early adopter…and it is.  By sitting on the edge with beta technologies we take risks and have to determine our own rewards.  Knowing this information should help you be informed about your projects.

  • Silverlight 2 + VS2008 + Blend 2 development: released, available, working
  • Silverlight 2 + VS10 + Blend 2 development: available, working (VS10 in beta)
  • Silverlight 3 + VS2008 + Blend 3 development: available, working (Silverlight 3 and Blend 3 in beta)
  • Silverlight 3 + VS10 + Blend 3 development: available, working with caveats (Silverlight 3 beta only, no RIA services)
  • WPF + VS10 + Blend 3 development: available, caveat of Blend 3 will not open .NET 4 projects from VS10

Remember, virtual machines can be your friend!  For some more general Visual Studio 2010 and .NET 4 training information check out the training kit here.  For information regarding ASP.NET MVC and VS10, check out Phil’s post.  Hope this helps!


This work is licensed under a Creative Commons Attribution By license.


5/24/2009 4:31 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Seems like a hodgepodge mess at the moment (errr not seems like... 'is a')

IMO, I like the releases, but this one makes MS look like a company that needs some anti-trust laws pushed on them :)

Discombobulated releases - like mvc 1.0, silverlight 3.0, etc... core items imo.

But thanks for the heads up and instructions - as you say, this is for early masochists (errrr 'adopters').
5/24/2009 4:33 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Yep, definitely can get you frustrated in a hurry. VS10 is the culprit here (and I say that in the nicest way). They had a deadline to get stuff into the beta. Problem is that two other products are in ship cycle (Silverlight/Blend) and needed to prioritize to ship rather than beta at this point. As confusing as it is, I think the teams made the right choices of prioritization to get closer to release code working with release tools.
5/24/2009 8:00 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Forgive me for chiming in and even sounding a bit defensive but I don't understand (honestly) how anti-trust comes in when a company releases new versions of its products for folks to try.

I'm sure I'm being insensitive but from my perspective, we have a great story here that we're apologizing for... we have fully compatible working released software: Silverlight 2, Blend 2, VS 2008 SP1. No problem.

We also have pre-release software that you can use if you want to try it before it is released: Silverlight 3, Blend 3, VS 2010. They work together. You can even mix and match some, but not perfectly, but of course, it is pre-release.

This strikes me as pretty good. A company trying to provide reliable software for those who need it, but marching ahead briskly with new features and new capabilities and making them available as soon as possible, and labeling them "pre-release, proceed with caution."

I'm not saying that we don't get things wrong; but this doesn't seem like much of a much to me.

I'll go back to my own blog now. :-)

5/24/2009 9:17 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Will C# 4.0 run in silverlight 3 when VS10 and Silverlight3 are RTW/RTM? There are sooo many good things in both sets of tools, I would hope that they all work together ASAP.
5/24/2009 9:27 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Steve you are going to make my head explode. As of right now, don't count on it. SL3 will be released and have servicing updates as needed. Major features would be in SL4 and we haven't completed planning on that yet.
5/25/2009 12:38 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Are you able to give any idea what sequence the tools are going to be released in? I'm guessing that VS10 is going to be the last to release. Will SL3 & Blend 3 release together? Will .NET RIA release with SL3 or release with VS10? Are these tools likely to release after Win 7 RTM or before & if before just checking to see if these will work fine with Win 7 and not have some issues & workarounds that were necessary with Vista RTM and VS2005.
5/25/2009 7:51 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Kiran -- Silverlight 3 will release with VS2008 and Blend 3 support. VS2010 hasn't announced any final release plans as of yet, but assuming it releases after Silverlight 3, it will have support for that. .NET RIA Services will have an updated CTP when Silverlight 3 releases, but may not be in final form yet. All will work with Windows 7 which may not be released at the same time as these.
5/26/2009 9:35 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Tim and Jesse,

Think you are doing a fantastic job getting Silverlight tutorials and helpful information out to the crowds. I have been extremely impressed with Silverlight and its design, as well as the learning opportunities you have supplied. Ignore the detractors if you can...

Cheers! (from the bleeding edge... where all the fun is)
5/26/2009 8:28 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Thank you Tim. Based on announcement at Mix09, as I understand there will be no more betas (at least public betas) of SL3 so when SL3 RTW, will .Net RIA only be a CTP and no go-live with SL3? When you gave your presentation in Wellington recently I recall you said that .Net RIA started as an experimental project (or something to that effect), but I think .NET RIA is looking like going to be very valuable for creating enterprise apps with SL3 and WPF.
5/26/2009 9:38 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Kiran -- RIA Services will have another CTP at the time of SL3 release...likely we'll have some type of production use licensing around it as well.
6/9/2009 11:20 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
It appears that since 2008 that C# 4.0 was going to be in Silverlight(at least a subset).

Has that changed? I saw a Silverlight c# 4.0 by Anders Hejlsberg at the 2008 PDC.

The video can be seen here - http://channel9.msdn.com/pdc2008/TL16/

Are you saying this isn't correct?
6/9/2009 11:24 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Fallon - I haven't reviewed that PDC session, but .NET 4 isn't even released yet and will not be a part of Silverlight 3 at least. Anders was likely alluding to the point that when .NET 4 is available, that Silverlight would evolve to that as well.
6/10/2009 12:31 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Well, we can dream anyways.

Thanks for clearing that up(well sort of).
7/4/2009 7:42 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Hi Tim, my name is Flavia, I am from Brazil.
I have been writing a book about Silverlight. However, I had a problem to use Visual Studio 2010, Silverlight 2 SDK and Blend 2. I received a message, as you showed in your article. Isn’t there solution for this problem?
Thanks
Flavia
Brazil
8/13/2009 7:47 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Hello, I have a short question. Is it possible to handle Silverlight events in ASP.NET pages? It would mean a lot if you have an example, or a video tutorial. Thankes
8/20/2009 10:28 AM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
Tim,

Silverlight 3 setup with both VS2008 and VS2010 beta is a mess. There is no other word to describe it. Why is it necessary to install "Visual Web Developer 2008 Express" when I have VS2008 Professional installed and I have already applied that gargantuan VS2008 SP1 (the one that requires 1.5GB for installation?

Furthermore, why are Silverlight project templates applied to Visual Web Developer install and not to VS 2008 Professional.

I understand your comment about different timelines between teams, but the installation truly is a mess.

Do you have any suggestions how to reliably install Silverlight 3 on a Win XP SP3 system with Expression Studio 3 and VS 2008?

No word from MS tech support either. Very disappointing.
8/20/2009 1:41 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
SamG - you don't have to install VWD Express...I don't know why you think you do? The templates (Silvelright tools) do apply for VS Pro. Uninstall VWD Express you don't need it if you have VS Pro SP1...just install the tools on top of that. If you are getting an error when installing the SL3 tools on VS2008 Standard, please send me the failure log/screenshots.
9/22/2009 1:31 PM | # re: Clearing some air in Silverlight, Blend and Visual Studio Beta land
I am just getting in to Silverlight programming, and I LOVE it, but it's a little confusing since I am pretty new to custom web programming. I have some apps that I am curious about integrating silverlight in to - so I might consider checking out the training.

 
Please add 6 and 2 and type the answer here:

DISCLAIMER:

The opinions/content expressed on this blog are provided "ASIS" with no warranties and are my own personal opinions/content (unless otherwise noted) and do not represent my employer's view in any way.