This press release discusses plans announced by S. Somasegar to release .NET 3.5 and Visual Studio 2008 in November. In fact, last I heard the bits are essentially RTM and ready to go unless any last minute defects are found.
You can read more about this here: http://www.microsoft.com/presspass/press/2007/nov07/11-05TechEdDevelopersPR.mspx
Last year I talked about the .NET 3.0 release and how it affected the world. So what does 3.5 really mean?
From a Visual Studio perspective, it means designer support for WF, WCF and WPF, similar to what you get today in VS 2005 with the Orcas Extensions but obviously polished up quite a bit with new improvements.
From a framework perspective, Microsoft is staying true to its "red bits, green bits" approach to ensuring that red bits remain compatible with green bits. Red bits are the components and CLR we know and love today: .NET 2.0, .NET 3.0 and the 50727 build of the 2.0 CLR.
.NET 3.5 introduces new green bits for new features like LINQ and WMI, but they are all additive. This means that there are no core CLR changes save for optimizations and any defect corrections. Depending on your OS (Win XP, Vista, etc) you will notice distinct revision numbers, but this should otherwise be transparent as this is already the case today.
There are a number of new assemblies that make up the green bits. Specifically, the following assemblies are shipping in 3.5 (Moth 2007):
1. System.Data.Linq.dll – The implementation for LINQ to SQL.
2. System.Xml.Linq.dll – The implementation for LINQ to XML.
3. System.AddIn.dll, System.AddIn.Contract.dll – New AddIn (plug-in) model.
4. System.Net.dll – Peer to Peer APIs.
5. System.DirectoryServices.AccountManagement.dll – Wrapper for Active Directory APIs.
6. System.Management.Instrumentation.dll – WMI 2.0 managed provider (combined with System.Management namespace in System.Core.dll).
7. System.WorkflowServices.dll and System.ServiceModel.Web.dll – WF and WCF enhancements (for more on WF + WCF in v3.5 follow links from here).
8. System.Web.Extensions.dll – The implementation for ASP.NET AJAX (for more web enhancements, follow links from here) plus also the implementation of Client Application Services and the three ASP.NET 3.5 controls.
9. System.Core.dll – In addition to the LINQ to Objects implementation, this assembly includes the following: HashSet, TimeZoneInfo, Pipes, ReaderWriteLockSlim, System.Security.*, System.Diagnostics.Eventing.* and System.Diagnostics.PerformanceData.
10. System.Data.DataSetExtensions.dll – The implementation of LINQ to DataSet.
11. System.Windows.Presentation.dll –WPF support for the System.AddIn mentioned of point 3 above.
12. System.VisualC.STLCLR.dll – STL development in the managed world.
Additional References: http://blogs.msdn.com/somasegar/archive/2006/05/18/601354.aspx, http://www.danielmoth.com/Blog/2007/05/clr-v20-remains-at-same-version.html
Anytime a new framework release is announced, there is usually some natural anxiety and confusion that precedes it. Hopefully this post puts this release in perspective and highlight's Microsoft's continued commitment to backward compatability without stifling innovation.