"Orcas" .NET Framework compatibility

As you know, work is currently underway in my group for the next version of Visual Studio which we call internally as “Orcas”.

Visual Studio “Orcas” is designed to enable customers to rapidly create connected applications on the latest platforms and with the highest quality user experience either individually or as part of a team.

We’re shipping the next generation programming framework that includes Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) in Windows Vista. We’re also making this available for the Windows XP platform. Both of these items will be available prior to the release of Visual Studio “Orcas”. So we have been spending a lot of time thinking about how we should service these components. We wanted to make sure that we are really customer focused on how this impacts you to ensure that your experience with the next version of VS is a seamless one.

Jason Zander wrote a blog on Framework compatibility last year in the VS 2005 context which is a good read on compatibility.

The approach we are taking is aimed at minimizing the impact of delivering new features and functionality by servicing existing runtime components in-place and then advancing the platform with new assemblies. Internally we’re referring to this as the “Red and Green” model which I’ll explain below.

“Red” assemblies include things like WPF, WCF and WF (which will ship as part of Windows Vista) and .NET Framework 2.0 that shipped with Visual Studio 2005. Our goal for dealing with “Red” items is to deliver service pack like compatibility. We are going to try very hard to minimize the overall number of changes being done in "red bits" to help reduce churn and achieve very high levels of compatibility.  

“Green” assemblies are where we will be introducing new functionality into the platform. The aim is to have any new feature be additive (for example new controls) rather than a reimplementation of an existing feature (outside of the servicing I mentioned above). Finally we want to ensure that installing any new assembly will not impact an existing application. For example, for C# language in Orcas, we will make a small "red bits" change to allow you to get at the new compiler and the new compiler is then a "green bits" addition.

If you write a component that depends on a “Red” assembly you can be assured that we’re going to do everything we can to ensure binary compatibility for your code even as we update the .NET Framework and WPF, WCF, WF as we move forward. All the major new features you’ll see from us will appear in the “Green” assemblies so you can feel comfortable that both your new and old code will work on the target machine.

The “Red and Green” model will help us deliver a great new product that makes your experience adopting it as easy as we can. Look forward to more details on this as we make more progress.

 

Namaste!

Comments

  • Anonymous
    May 18, 2006
    The comment has been removed

  • Anonymous
    May 18, 2006
    I have to agree with JohnGalt's comment.  I thought the whole point of .NET's versioning system was that you could run side-by-side.  

    You're already putting wiggle-words into your sentences like "we’re going to do everything we can to ensure binary compatibility for your code."  That's very definitely not the same as "we will assure binary compatibility."  You already have a versioning system that makes it so you never have to touch a version after release.  Why would you want to mess with that?

    This sounds like a really dumb idea, and the whole "Red Green" thing just makes it sound worse.  Ever seen the "Red Green" show?  Not the guy I want planning my version compatibility scenarios.

    -Don

  • Anonymous
    May 18, 2006
    I agree with the first two Posters.

    Jens Samson

  • Anonymous
    May 18, 2006
    The comment has been removed

  • Anonymous
    May 20, 2006
    I think you're doing the right thing.

    Aim for compatibility and performance.

  • Anonymous
    May 20, 2006
    With the recent LINQ CTP, XLinq's feature set is getting close to what we plan to release in "Orcas". ...

  • Anonymous
    May 21, 2006
    Doesn't Side by Side Cure All?
    Soma posted in his blog how we plan to produce an updated version of...

  • Anonymous
    May 22, 2006
    I agree with the previous posters regarding backwards compatiblity.  One other thing I think that Microsoft should do is always make fields, properties and methods in base classes protected, not private.  This is a HUGE HEADACHE because you are only exposing enough that if I need to make a simple change, I have to rewrite half the functionality.  This is a poor example of how to write base controls.  I could have written two lines of code to add custom sort functionality to the GridView control, but because you didn't expose anything i had to rewrite about half the code.

  • Anonymous
    May 22, 2006
    To assist developers, Microsoft is assigning a traffic light color scheme - red and green - to assess .Net Framework updates. Or, if you prefer, a Christmas tree color combo. In a blog entry entitled, "Orcas, .Net Framework compatability," Microsoft's..

  • Anonymous
    May 23, 2006
    The comment has been removed

  • Anonymous
    May 23, 2006
    does 'orcas' support existing .net 2.0 coding?

  • Anonymous
    May 27, 2006
    The comment has been removed

  • Anonymous
    May 30, 2006
    During the past few months, the Visual C++ team allocated many of its development resources towards addressing...

  • Anonymous
    June 07, 2006
    For the Orcas release we want to only fix bugs that won’t create barriers to adoption. We have created...

  • Anonymous
    June 09, 2006
    On two life altering occasions I heard that phrase spoken, and writing it down still makes me weak in...

  • Anonymous
    June 10, 2006
    Earlier today, I was working on my article on the timeline for .NET releases over the next 18 months....

  • Anonymous
    August 28, 2006
    The title of this post might actually be more appropriate if it was called what aren't they planning....

  • Anonymous
    October 03, 2006
    Didn't I say it two weeks ago that API naming is the most difficult thing? :) My BCL post on System.TimeZone2

  • Anonymous
    October 10, 2006
    Ever since Kathy Kam announced on her weblog that a new type named TimeZone2 will be introduced into

  • Anonymous
    October 17, 2006
    I finally got around to downloading the Orcas September 2006 CTP bits, and started to play with it a

  • Anonymous
    November 02, 2006
    Microsoft has released the October 2006 CTP of Visual Studio Codename "Orcas". If you have the available

  • Anonymous
    November 27, 2006
    3 dos feedbacks que postei no Connect receberam resposta hoje. Segundo a resposta, os feedbacks...

  • Anonymous
    December 06, 2006
    Microsoft has released the September 2006 CTP of Visual Studio “Orcas” as an image for Virtual

  • Anonymous
    December 06, 2006
    Microsoft has released the September 2006 CTP of Visual Studio “Orcas” as an image for Virtual

  • Anonymous
    December 08, 2006
    Microsoft has released the September 2006 CTP of Visual Studio “Orcas” as an image for Virtual

  • Anonymous
    February 02, 2007
    PingBack from http://www.buayacorp.com/archivos/cross-site-scripting-en-aspnet-y-la-respuesta-de-microsoft/

  • Anonymous
    February 15, 2007
    Незабаром в нас буде нова версія .Net Framework 3.5, яка схоже, як і 3.0, буде спиратися на базовий .Net

  • Anonymous
    March 16, 2007
    Green and red bits where introduced at the release of the .NET Framework 3.0. Somasegar talked about

  • Anonymous
    April 21, 2007
    Ο τίτλος δεν έχει σχέση με τον Ολυμπιακό και τον Παναθηναϊκό. Το κόκκινο και το πράσινο χρησιμοποιούνται

  • Anonymous
    August 08, 2007
    While installing VisualStudio 2008 Beta2 I was surprised that the NET framework 2.0 installation got

  • Anonymous
    August 23, 2007
    Theres a whole lot of new stuff in Networking in Orcas. Some features are going out as part of redbits

  • Anonymous
    August 23, 2007
    Theres a whole lot of new stuff in Networking in Orcas. Some features are going out as part of redbits

  • Anonymous
    August 27, 2007
    PingBack from http://blackfalconsoftware.wordpress.com/2007/08/27/net-net-35-explained-simply/

  • Anonymous
    August 31, 2007
    Visual Studio .NET 2008 (codename Orcas) is just around the corner. With the release of Beta2 a few weeks

  • Anonymous
    October 02, 2007
    Two months ago, Scott blogged about the multi-targeting support in Visual Studio 2008 . I worked on this

  • Anonymous
    October 02, 2007
    PingBack from http://msdnrss.thecoderblogs.com/2007/10/02/fxcop-rule-for-multi-targeting/

  • Anonymous
    October 02, 2007
    PingBack from http://msdnrss.thecoderblogs.com/2007/10/02/fxcop-rule-for-multi-targeting-2/

  • Anonymous
    October 02, 2007
    PingBack from http://msdnrss.thecoderblogs.com/2007/10/02/fxcop-rule-for-multi-targeting-3/

  • Anonymous
    October 23, 2007
    The comment has been removed

  • Anonymous
    November 08, 2007
    .NET 3.5 November Ship Date Announced

  • Anonymous
    November 08, 2007
    The comment has been removed

  • Anonymous
    November 09, 2007
    Late to the game as usual, but I just wanted to say that I agree with the majority of posters that backward compatibility should not be a primary design goal of a new version. Its not that is has no value, but its just not worth it if it means holding back other more important fixes or features. I completely agree with Sean McLellan's post; if I upgrade to a new version, I already know that I will have to make some code changes (especially since you can't guarantee 100% backward compatibility, no matter how hard you try). So what if I have to make some extra changes to deal with breaking changes? EVEN IF those changes are actually fairly extensive, its worth it if it means that the new version is better and more usable. And if its not worth it to people like Bill and his banking system, they don't have to upgrade! If you're so worried about your ancient mission-critical system, why are you upgrading to a new version in the first place? Shouldn't you stay with what you know works? In short, backward compatibility simply isn't worth the price you (MS) are forcing us to pay.

  • Anonymous
    March 19, 2008
    As many people will have noticed, we released Windows Vista Service Pack 1 this week ( read about the

  • Anonymous
    March 19, 2008
    PingBack from http://msdnrss.thecoderblogs.com/2008/03/19/what-does-windows-vista-sp1-mean-for-developers/

  • Anonymous
    March 19, 2008
    As many people will have noticed, we released Windows Vista Service Pack 1 this week ( read about the

  • Anonymous
    January 07, 2009
    The comment has been removed

  • Anonymous
    January 21, 2009
    PingBack from http://www.keyongtech.com/4485107-orcas-and-highlander/4

  • Anonymous
    May 29, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=somasegar-s-weblog-orcas-net-framework-compatibility

  • Anonymous
    June 08, 2009
    PingBack from http://cellulitecreamsite.info/story.php?id=8057

  • Anonymous
    June 09, 2009
    PingBack from http://greenteafatburner.info/story.php?id=2871