Orcas - Are you getting the most out of it...(Conversion Process)
Since my exposure of playing with Ajax during all the Beta cycles, and ending up so frustrated - I kinda stepped back and stopped participating in anything related to a Beta. So, it may be a surprise that I actually installed Orcas (Beta of VS 2008) and unlike my terrible experiences with converting my projects to VS 2005 - surprise - all converted without any drama what so ever (less one where when I started VS 2008 the first time it crashed during applying settings). That is good news.
There is a word of caution however, that needs to be observed for anyone converting their solutions / projects.
For the most part most of us realize that .Net 2.0 is not actually replaced with a new version with the release of Visual Studio 2008, instead .Net 3.0 and .Net 3.5 are more or less just extensions to the core .Net 2.0 framework. In my opinion the whole 3.0 naming is a marketing nightmare and a severe confusion for developers and plenty of blogs out there that echo that sentiment. It gets equally confusing when you load up a Visual Studio 2005 solution / project and convert it.
The assumption would be that by default it would convert and optimize those solutions and projects to .Net 3.5 or 3.0 depending. It doesn't however, and instead by default the target .Net version is still .Net 2.0 during the conversion process. This would explain the reason why there where no conversion issues with any of the 155 projects I had in my solution(s) (versus the ton of issues migrating from .Net 1.0 to .Net 2.0 back in the day).
To target a specific version for compiler / CLR efficiency and more importantly to gain the enhancements... some work will need to be done on your behalf. In my opinion the Conversion Wizard SHOULD give an option during the conversion process (or perhaps explain before conversion if it automatically detects and chooses the proper framework) - to target which .Net Framework to convert a solution / project to. I had assumed the conversion would optimize to the most recent version (ie 3.5).
If you have converted a VS 2005 solution to Orcas then you need to open up the properties page for each (or just one for this example) project in the solution:
Note where it says: TARGET FRAMEWORK
That is a drop down selection and .Net 3.0 and .Net 3.5 are listed below the .Net 2.0.
By default the conversion process defaults to .Net 2.0, which means that nothing really changes...Less the fact the .Net SP2 incorporation....Then again - since 3.0 and 3.5 are just extensions to the core framework (2.0) - and I do believe there may be no overlapping functionality between the three.... so begs the question why is there a selector for the framework? It was explained to me that by default the CLR will use the highest framework available and work its way down, and since 3.5 and 3.0 require 2.0...
Since I am working with the .Net Trade 1.1 refresh release, one of the tests we are conducting is to see what enhancements Orcas / Longhorn give us in terms of performance. And cursory initial tests just running a converted version of .Net Trade - indicated no real perceptual performance benefits. However, since the conversion defaulted to .Net 2.0 (as confirmed by bringing up the properties pages for the projects) - it would be safe to assume that no gains would have been had to begin with. So, in the upcoming week - we'll be trying out the targeting of a specific (.Net 3.5) compilation of .Net Trade to see what gains will be had if any.
However, the goal of this blog is to make you aware that there are many new options for how Visual Studio compiles the end dll. And while one can take the stance of the compiler will figure it all out - if a project is compiled with the target framework set to .Net 2.0 (the default) - then you will get no real gains with having used Orcas (Visual Studio 2008) in terms of perf or features... by just merely converting a project / solution...