New version of .NET Disguised as a "Service Pack"
The beta for Service Pack 1 of .NET 3.5/VS 2008 brings with is a host of new features and libraries including the ADO.NET Entity Framework and Data Services, a client-only version of the Framework, and changes to most of the 3.0 and 3.5 libraries. Despite its name, to many developers this release is as significant as 3.5 itself.
A common complaint amongst corporate developers is that .NET applications have to be copied to the local hard drive before running. With this service pack applications stored on computers listed in the LocalIntranet zone can be run with full trust be default. This is extended to assemblies in the same folder but not in any subfolder. The .NET Security Blog has more details.
New project templates for IIS 7 modules and handlers are included. For more information on them, check out Mike Volodarsky's article on IIS extensibility.
Classic ASP Intellisense and debugging, cut in VS 2008, have been restored. Clearly classic ASP is not dying the quite death that was predicted.
Turning to modern web sites, Brad Abrams reports that AJAX history points are now supported.
Like virtually all MVC frameworks, Microsoft finally supports URL rewriting via the ASP.NET Routing Engine. Though designed primarily to support Dynamic Data and ASP.NET MVC, it does support WinForms as well.
According to Gavin Clarke of TheRegister, the beta is not compatible with the Silverlight 2 tools beta. While a post-SP 1 beta is planned, developers have to choose one or the other in the mean time.
On the performance side, Scott claims WinForms has up to 40% faster start times and some ASP.NET users are seeing a 10% increase in throughput.
A reduced footprint version of the .NET framework is also included. This does not change the binaries, but does cut the Framework installation size down to 28 MB. Checks in Visual Studio ensure that only client assemblies are referenced.
In a nod to VB 6, .NET versions of the classic controls PrintForm, LineShape, OvalShape, RectangleShape, and DataRepeater now have an official WinForms version. Previously these were available in the VB Power Pack add-ons.
WPF has several performance and data binding improvements. There is also a new shader architecture that can be applied to any control or element. These effects are rendered in the GPU when available.
ClickOnce applications no longer need to be signed and hashed in the IDE. There are also new options such as document type mapping and deploying ClickOnce applications via a setup.exe file.
ClickOnce applications are now fully supported in FireFox.
All of the data access designers now fully support the upcoming SQL Server 2008.
ADO.NET Entity Framework, a higher-level abstraction than LINQ to SQL, is being released with this service pack. "The ADO.NET Entity Framework and the VS 2008 Entity Framework Designer both support a pluggable provider model that allows them to be used with any database (including Oracle, DB2, MySql, PostgreSQL, SQLite, VistaDB, Informix, Sybase, and others)."
ADO.NET Data Services, also known as Astoria, makes it easier to expose REST interfaces to data models including ADO.NET Entity Framework.
For quick and dirty data manipulation sites, there is Dynamic Data. With one line of code, this code maps a data model to a set of dynamically generated web forms. From there the application can be enhanced using traditional ASP.NET.
VB is adding to its XML support with "XML to XSD". This allows developers to import XSD files directly into their code.
Meanwhile C# is finally getting a background compiler. While not a full compiler like VB's, it at least shows common errors without the developer having to rebuild the project.
According to Tim Sneath, Microsoft plans to the ship the final version later this summer.
There is no official release date as of yet, but according to . Tim Anderson estimates it will be in the fall to coincide with SQL Server 2008.
Version numbers messed up anyway
.NET 3.0 should have been 2.1, 3.5 should have been 3.0(or maybe 2.5), this sounds like it should be 3.1. However, with the version number mess, I don't know if they could call it 3.6. At the end of the day, what's a version number anyway?