Visual Studio 2008 and .NET Framework 3.5 "SP1" Beta
VS2008 and .NET Framework 3.5 offer a ton of customer value from Linq to Ajax and much more. The service pack we have been working on to round out this release adds even more new value in addition to fixing a 100s of customer reported bugs! All of it is driven by customer asks and I am excited about how we have begun to embrace a model of providing great customer value on a very regular cadence.
Omar Khan and I recently recorded a DotNetRocks episode where we talked about all these great things. I thought it would be fun to list just a few of my personal favorite new features in this SP...
What is your favorite one?
For Web Developers:
- ASP.NET Dynamic Data makes building data driven web applications amazingly easy! Now only does this work great with LinqToSql and LinqToEntities, but we can now support any OR mapping technologies. The great folks working on LLBLGen have done the work to wire it into dynamic data. We are also working with all the third party control vendors and they have controls on the way to work with Dynamic data.
Check out the videos, podcast and reference material.
- Url Routing is now built into ASP.NET! So you can now customize your URLs in any ASP.NET application!
https://products/details/123 instead of https://products/details.aspx?id=123
See Phil's blog for more information.
- Source code formatting for JavaScript - You can now format your javascript code in the same way you do with C# or VB.NET today. No more spaghetti javascript!
- Speaking of JavaScript, we significantly improved the javascript interpreter that runs behind scenes in VS and it now supports most other JavaScript frameworks giving you great intellisence.
- Speaking of Ajax, we now support Ajax History server side via ScriptManager.AddHistoryPoint() as well as client side via the Microsoft Ajax Library. This allows you to programmatically handle the "back button" and to add permalink and deeplinking support to your existing ASP.NET applications.
Read more, watch the videos, etc.
- Also, on the subject of Ajax, we now, out of the box fully support script combining. This support enables server side combining and therefore compression of multiple smaller JavaScript files. This greatly reduces page load time because compression ratios are better on one larger file and one request is quicker than multiple smaller requests. For example, take a reasonably complex Ajax application and look at how many calls are being made via FireBug
Now, turn on ScriptCombining in ScriptManager and presto!
Read more here, see my blog from my mix talk.
Also, we just released a very cool script profiling tool that can show you just what is loaded and, in exactly the format you need for ScriptManager...
<cc2:ScriptReferenceProfiler ID="ScriptReferenceProfiler1" runat="server" />
Visual Web Developer Express (that is the free version of VS) now supports Web Application Projects (WAP) and Class Library Projects. This enables both ASP.NET MVC as well as Silverlight 2 development from Express! I am relieved that I can now go back to doing all my demos in Express!
Classic ASP development is back! This was a very painful cut from VS2008 and I am glad it is back as many of our customers have to support older web applications.
For Client Developers
- .NET Framework Client Profile - Smaller .NET Framework Redist optimized for client scenarios
- Immediate Responsiveness - Bootstrapper is tiny (200K) to enable the fastest possible response to app setup URL. No waiting around wondering if the click registered. No “unpackaging” UI. After the security prompts, the user immediately is presented with the EULA.
- 3 Clicks from 0 to 60 - We’ve got it down to the fewest possible number of clicks (1 for running exe, 1 for cert, 1 for eula) that are absolutely required for installing both the framework and the application. For ClickOnce apps, the user clicks accept on the EULA and when setup completes the application and the framework is automatically launched.
- Integrated, Custom/Branded UI - The framework and app as well as additional components can be packaged together so that there is a seamless install experience. We now have a single progress bar indicates status overall.
- Reliable - We have poured through the error logs to debug and find root causes for setup failures... We think we are a LOT better now. We are installing less stuff and doing it in a more solid way.
- Install Speed - We’re at 26.5 mb. On a clean XP machine with a typical consumer broadband connection, the setup will take approximately 6 minutes. On faster connections, setup will get even faster (4.5 minutes).
- App first run - The app first run experience is quite nice. Because we are ngening fully during the install, nothing is competing with the app at startup, no JITing, and bits are warm. The user sees the setup window disappear and 3 seconds later, the app splash screen followed quickly by the app itself. Nice.
Note: some of the above will be most noticeable in the RTM of SP1....
- Significant cold start performance wins... You will absolutely notice this with larger client applications.
- Lots of WPF performance improvements with text, graphics, animations, etc
- WPF Effects API which enables custom hardware accelerated effects on any control or shape in WPF. Check out System.Windows.Effects.
- WPF Designer Event Tab Support
- Sort properties alphabetically
- Margin Snap Lines makes is way easy to do great form layout in the WPF designer
- Better XAML debugging. You can now easily navigation to the offending line in your XAML file
- New WebBroswer Control in System.Windows.Controls
<WebBrowser Source="https://blogs.msdn.com/brada" > </WebBrowser>
- A new BindingGroup in System.Windows.Data (additional databinding support)
A ton of valuable ClickOnce update
- ClickOnce application publishers can now decide to opt out of signing and hashing the ClickOnce manifests as they see appropriate for their scenarios.
- ClickOnce error dialog boxes now support links to application specific support sites on the Web
- ClickOnce applications can now be programmatically installed through a ‘Setup.exe’ while displaying a customized, branded install UX
- Better Support for generating MSI + ClickOnce application packages
- FireFox browser extension to support Clickonce installations using FireFox browsers
- Design time support for setting file associations
- Windows Forms get Line and Shape controls for all languages. A new set of controls in the toolbox enable some cool shape controls for WinForms developers.
- Run off a network share with local permissions - You have voted and we have listened! We have brought managed executables in line with native code executables in how they behave when run off a network share. Yea!
For VB Developers
You can now add "XML to Schema" items to Visual Basic projects.
and get the great VB XML intellisense against it
For C# Developers
VB developers have long loved the feature of being able to get information about any sort of potential compiler error as they type. C# developers on the other hand often have to relay on the lack of a feature (intellisence) to figure out if they are going to have a problem. Now C# developers get clean, unobtrusive information about potential issues as they type. A couple of examples:
If you hover over the i in the above example it will tell you i is used before it is set.
if you hover over the Foo in the above example it will tell you no such method exists.
Notice, these errors show up in the error list and are cleared automatically as you fix your code.
All real time, as you type! The error analysis happens at the expression level. This means that not every possible errors are caught (for example many errors outside of the method body).
For Data Developers
Most notably we have fully plumbed SQL Server 2008 support throughout VS 2008 and .NET Framework 3.5... all the new datatypes are supported, etc.
ADO.NET Entity Framework
The ADO.NET Entity Framework is the next evolution of ADO.NET, raising the level of abstraction at which programmers work with data, and allowing the database structure or data source to evolve without significant impact to the application code.
Rather than coding against rows and columns, the ADO.NET Entity Framework allows the definition of a higher-level Entity Data Model over your relational data, and allows developers to then program in terms of this model. Developers get to deal with the data in the shapes that make sense for the application, and those shapes are expressed in a richer vocabulary that include concepts like inheritance, complex types, and explicit relationships.
Use LINQ to Entities with the Entity Framework for queries that help create easy to maintain code that retrieves and works with strongly typed data objects or business entities.
There is a new asp:EntityFrameworkDataSource control which can be easily configured..
See more information on ADO.NET Entity Framework on MSDN
ADO.NET Data Services:
The Microsoft ADO.NET Data Services framework provides a first-class infrastructure for developing the next wave of dynamic Internet applications by enabling data to be exposed as REST-based data services that can be consumed by client applications (Windows Forms, WPF, ASP.NET, AJAX, Silverlight, etc.) in corporate networks and across the Internet. Easily build applications using a comprehensive set of .NET libraries and client components, accessing data through uniform URI syntax and using standard HTTP verbs to operate on the resource. Use the Data Services client support and LINQ to program to your service through strongly typed .NET classes.
ADO.NET Data Services provides a framework to build data services for relational data sources, such as Microsoft SQL Server, MySQL, DB2, and Oracle, using the built-in support for the ADO.NET Entity Framework, or for non-relational data sources using the pluggable provider model.
You can download the Ajax client library for Data Services here
ADO.NET 3.5 Provider Support
The list of provider writers is available on MSDN. All up, there are 8 different companies writing 22 different providers against 14 different back end databases committed to have public availability within 3 months of RTM. Here is a sampling:
IBM DB2 data server and Informix Dynamic Server (IDS) databases
MySQL databases
Oracle databases
PostgreSQL database versions 7.3+ and 8.x
SQLite databases
Sybase
VistaDB databases
For Service Developers:
Improvements in the areas of performance and scalability, such as:
- Scalability increases of 5X – 10X for Web-hosted applications in IIS7
- Significant performance improvements in Work Flow Designer for projects with a large number of activities.
Improvements in the area of user experience, such as:
- Enhanced TestClient support to target a richer and broader set of WCF services, while providing the option to run the TestClient in a standalone fashion.
- New Hosting Wizard for WCF Service projects
Improvements in the area of productivity, such as:
- Improved Usability of DataContract Serializer, via the automatic serialization of types without the need to annotate the types with [DataContract] and [DataMember] attributes.
- Improved Debugging in Partial Trust by adding support for accessing Event Logs when running Partial Trust
- Improvements in REST capabilities of WCF by making it easier to use the UriTemplate feature, adding support to specify defaults and providing greater control over the UriTemplate. The addition of the ServiceDocuments object model now allows easier publishing of APP metadata and easier consumption of service document for REST clients
Improvements in the area of data platform, such as:
- Support Entity Fx entities in WCF contracts
Support for renaming Services in VS - if you invoke Rename on a WCF Service VS will rename all of the artifacts associated with that service (config, .svc file, etc.).
<service behaviorConfiguration="WebApplication7.Service1Behavior"
name="WebApplication7.CoolNewService">
In Closing
I hope you are as excited as I am about SP1 and you go download the beta and let us know what you think! The window is really tight for feedback, so anything you can get us soon would help. I am particularly interested in compat issues... as this is an SP, we are working hard to ensure it works with all apps. As this is an SP, it does update core parts of the tools and runtime stack, so I would NOT recommend installing on your production machine until the final RTM later this year. Rather use a VPC our test machine (that is what I am doing now). Related to this, there is a known issue that the Silverlight 2 tooling will not work with SP1 beta... we are fixing that for SP1 RTM of course, but it is a short term issues.
Download links:
- Visual Studio 2008 Service Pack 1 (Beta)
- .NET Framework 3.5 Service Pack 1 (Beta)
- Visual Basic 2008 Express Edition SP1 (Beta)
- Visual Studio 2008 Team Foundation Server 2008 SP1 (Beta)
Update (5-14): Visual Studio 2008 SP1 Beta Resets Settings to Defaults
We recently found a bug with the VS2008 SP1 install... when installing Visual Studio 2008 SP1 Beta on top of Visual Studio 2008, VS user settings are reset to default VS settings. This bug is caused by code originally put in place to reset settings when upgrading minor version of VS, for example from VS Beta1 to VS Beta2 so that VS would have the latest default profile settings. VS does migrate settings from VS 2005 to VS 2008. VS certainly should keep user settings when upgrading to a service pack, which will be fixed for SP1.
Please backup your VS settings before upgrading to VS 2008 SP1 Beta.
Before installing SP1 Beta1, use the "Export Settings" wizard (“Tools” menu, “Import and Export Settings…”) to save your current settings, then install SP1 Beta1, and then use the wizard to import your settings back into VS.
This issue will be resolved for the final release of Visual Studio 2008 SP1 where settings will be maintained when upgrading.
We sincerely apologize for the troubles this has caused
Comments
Anonymous
May 12, 2008
Ceux qui ont lu mon post concernant l'execution d'application .NET depuis un partage réseau et l'appelAnonymous
May 12, 2008
E' stata rilasciata la beta 1 della SP1 di .NET 3.5. Oltre alla normale correzione di  bug, questaAnonymous
May 12, 2008
When will VS 2008 support BI solution for SQL Server 2005? Or never? With supporting projects, will VS Express be much similar to VS 2008 for development purpose?Anonymous
May 12, 2008
If you keep up with multiple Microsoft technology bloggers, today is one of those days where you'll seeAnonymous
May 12, 2008
If you keep up with multiple Microsoft technology bloggers, today is one of those days where you'll seeAnonymous
May 12, 2008
For those of you looking for it, ScottGu published a blog post earlier today announcing the BETA releaseAnonymous
May 12, 2008
You can get them from here (VS) and here (.NET). I'm reading what's new on Brad Abrams post andAnonymous
May 12, 2008
You can get them from here (VS) and here (.NET). I'm reading what's new on Brad Abrams post andAnonymous
May 12, 2008
In case you haven't heard, Microsoft has formally announced plans to provide a service pack (SP1Anonymous
May 12, 2008
I got excited when you said "For Service Developers" - sadly, it's for WEB service developers, not developers of native services. Is there anything new for C++ / Win32 developers?Anonymous
May 12, 2008
For those of you looking for it, ScottGu published a blog post earlier today announcing the BETA releaseAnonymous
May 12, 2008
Brad, Any news on the fabled DatePicker for WPF? I remember seeing that on ScottGu's roadmap and thought it might be part of SP1. MattAnonymous
May 12, 2008
ScottGu makes it official today. There is a whole lot of stuff here, and I think its safe to say thatAnonymous
May 12, 2008
Visual Studio 2008 Express Edition Service Pack 1 Beta is now available!Anonymous
May 12, 2008
The beta of WPF 3.5 SP1 is now live. This is way more than a service release, even if it's named as such.Anonymous
May 12, 2008
http://blogs.msdn.com/brada/archive/2008/05/05/visual-studio-2008-and-net-framework-3-5-sp1-beta.asp...Anonymous
May 12, 2008
From ScottGu's Blog: "Earlier today we shipped a public beta of our upcoming .NET 3.5 SP1 and VS 2008Anonymous
May 12, 2008
Brad Abrams announced today the release of SP1 Beta for VS2008 and .NET 3.5. He has an excellent writeAnonymous
May 12, 2008
A partir de hoy (Lunes 12 de Mayo) está disponible para la descarga la versión beta de lo que será elAnonymous
May 12, 2008
>> I got excited when you said "For Service Developers" - sadly, it's for WEB service developers, not developers of native services. Is there anything new for C++ / Win32 developers? Alun, thanks for you comment... we have done some good stuff for Win32C++ developers.. check out the blog here: http://blogs.msdn.com/vcblog/archive/2008/05/12/visual-studio-2008-service-pack-beta-now-available.aspxAnonymous
May 12, 2008
>>When will VS 2008 support BI solution for SQL Server 2005? Or never? With supporting projects, will VS Express be much similar to VS 2008 for development purpose? Jun - I don't know about BI projects... i will have to look into it.. Send me an email (see the "email" link above). Yes, VS Express is getting more powerful, but the full VS SKU continues to be best for team development scenarios... so there is still value there!Anonymous
May 12, 2008
>>Any news on the fabled DatePicker for WPF? I remember seeing that on ScottGu's roadmap and thought it might be part of SP1. Yes, Matt -- it is in the works. It is not likely to make SP1 RTM... but you will see it sometime thereafter.Anonymous
May 12, 2008
Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 (정보) Visual Studio 2008 and .NET Framework 3.5Anonymous
May 12, 2008
The best all-up run-down of all the features (WPF, ASP.NET, WinForms, VS etc.) can as ever be found onAnonymous
May 13, 2008
I'm concerned about the changes to the DataContract Serializer. Will my existing classes now have public members serialized that I intentionally did not decorate with [DataMember]? If so, that sounds like a breaking change. Otherwise, I'm excited about a lot of these features. It's nice to see Click Once getting improvements.Anonymous
May 13, 2008
From all that I have seen Brad Abrams as the best wrap up of what is in SP1 at hi blog post Visual StudioAnonymous
May 13, 2008
Just wrote a blog post where SP1 changes are listed: http://codebetter.com/blogs/patricksmacchia/archive/2008/05/13/net-3-5-sp1-beta-changes-overview.aspxAnonymous
May 13, 2008
The comment has been removedAnonymous
May 13, 2008
As ever, Scott Guthrie has the most comprehensive announcement blog about Visual Studio 2008 and .NETAnonymous
May 14, 2008
So if you're a software developer and haven't been living under a rock all this week, by now you've probablyAnonymous
May 14, 2008
>> I'm concerned about the changes to the DataContract Serializer. Will my existing classes now have public members serialized that I intentionally did not decorate with [DataMember]? If so, that sounds like a breaking change. Matt - I talked with the WCF folks and this does seem to be the case. the class will be serialized by default, unless:
- The Type is not public OR
- Does not have a parameter-less constructor OR
- Declares other serialization behavior, e.g. has [Serializable], implements ISerializable etc.
Anonymous
May 14, 2008
ScottGu's - Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspxAnonymous
May 15, 2008
Brad, and chance of some more details regarding the "additional data-binding support" offered by BindingGroup?Anonymous
May 18, 2008
Great job done, this shoud be dotnet framework 3.6 instead of 3.5 SP1. One question the content of the client framework profile has this been defined? As an example WinForms.Integration assembly is not included ... will this also be like this in the RTM bits?Anonymous
May 18, 2008
>> Great job done, this shoud be dotnet framework 3.6 instead of 3.5 SP1. One question the content of the client framework profile has this been defined? As an example WinForms.Integration assembly is not included ... will this also be like this in the RTM bits? Danny - thanks for your comments... Yes, the list is defined, I will see if we can get it posted if it is not already... And, yes WinForms.Integration will be included in RTM...Anonymous
May 21, 2008
As I mentioned a few days ago , with .NET Framework 3.5 SP1 Beta we are taking some MAJOR steps towardAnonymous
May 21, 2008
Great Developments.. More and more convenience for Developers and users.. Thanks for listening to the feed backs and making modifications at lightining speed.Anonymous
May 22, 2008
Welcome to the forty-fourth Community Convergence . I want to remind every one that the C#, VB and dynamicAnonymous
May 23, 2008
Justin Van Patten from the BCL Team has put out an official list of what assemblies will be includedAnonymous
May 23, 2008
Justin Van Patten from the BCL Team has put out an official list of what assemblies will be includedAnonymous
May 23, 2008
Recently, beta versions of Visual Studio 2008 SP1 and the .NET Framework 3.5 SP1 were released (see announcementAnonymous
May 30, 2008
As far as I'm concerned - WCF services configured by default in 3.5 were faulty and poor in terms of performance and scalability - I wonder if sp1 solve these problems ??Anonymous
May 30, 2008
The comment has been removedAnonymous
May 31, 2008
The comment has been removedAnonymous
May 31, 2008
Well, Brad - some more info about WCF "bad" default settings. Here - http://yet-another-wannabe.blogspot.com/2008/02/default-good-wcf-vs-aspnet-web-services.html Russian tech-experts reported test results, where service, based on WCF over HTTP (with default binding config), was completely destroyed by default ASP.NET web service. As far as report is in Russian, I'll try to summarize it for you:
- In terms of pure speed - ASP.NET web service was approx. 16 times faster (!!!!)
- In terms of stability - ASP.NET web service was stable and therefore predictable, on the opposite - WCF service showed almost chaotic behavior
- During testing of WCF service there were some memory leaking (!!!) - from 1.5 mb at the beginning up to 105 mb. (ASP.NET service memory consumption was stable - about 10mb) So, U see - too much questions to default configuration. I guess that all of these troubles can be solved via some tweaking of WCF config, on the other hand - it's obvious that default config can lay down any enterprise server (and therefore it looks dangerous)
Anonymous
May 31, 2008
As I mentioned a few days ago , with .NET Framework 3.5 SP1 Beta we are taking some MAJOR steps towardAnonymous
June 03, 2008
Hey, Brad - thanks for sharing... BTW - is there any redistributable package of VS sp beta1? - I've tried to get it, but no luck.... I don't wanna mess around and wait till it downloads each time I start installing it ;)Anonymous
June 03, 2008
>>>Hey, Brad - thanks for sharing... BTW - is there any redistributable package of VS sp beta1? - I've tried to get it, but no luck.... Somebody -- do you mean a redist for the framework? Does the one here work for you? http://www.microsoft.com/downloads/details.aspx?familyid=8C36ACA4-E947-4760-9B05-93CAC04C6F87&displaylang=enAnonymous
June 03, 2008
Brad, no - I mean full msi for studio sp 1 itself! Not this little nonsense, that starts downloading itself from the web! Any cure for it??Anonymous
June 04, 2008
It to like the background compiling a lot, displaying current errors. But in the web projects it displays errors which aren't errors really. This is mostly happening with code related to User Controls (ascx). If you double click such an error, it load the .cs file from the .aspx file, shows redlines under the errors for a brief second and then concludes that these aren't errors and removes them from the error list. This is quite unhandy since you get a full list of errors while in fact you might only have 1 or 2, or none ;) Anyone else having this? GabAnonymous
June 08, 2008
The best all-up run-down of all the features (WPF, ASP.NET, WinForms, VS etc.) can be found on ScottAnonymous
June 09, 2008
Коллеги озадачили меня вопросом - как в Visual Studio Code Analysis поменять пороговые значения для метрикAnonymous
June 11, 2008
Koka - On the WCF default template issue... I spoke to the WCF team on this and here is there response..
- Performance By default, WsHttpBinding enables Message security, which is expensive. However, it is very important for this to be the default value so that enterprise customers don’t unknowingly expose security holes in default deployments. A more accurate comparison between ASMX and WCF (i.e. similar settings) can be found in this whitepaper, which uses BasicHttpBinding: http://msdn.microsoft.com/en-us/library/bb310550.aspx 2)Stability It is unclear what data upon which this observation was made. Some of the “chaotic behavior” can likely be attributed to failing to call proxy.Close() after each invocation (see below, also). 3)Memory Consumption Based on our analysis of the code posted on the blog, we believe this could be attributed to not calling proxy.Close(). It is certainly not a memory leak (the GC will collect the proxy objects)... We hpoe this helps, if not, please do send me an email (brada-at-microsoft-dot-com)
Anonymous
June 19, 2008
I had a bit more time on my travels , so I cooked up this brief introduction to Dynamic Data . Anonymous
June 23, 2008
If you guys are looking to host .NET3.5 site with LINQ technology, you may consider http://www.asphostcentral.com I have my .NET3.5 site hosted there.Anonymous
June 28, 2008
Justin Van Patten from the BCL Team has put out an official list of what assemblies will be included in the RTM of the .NET Framework Client Profile. The usual suspects are there, and as expected, server-side technologies like ASP.NET are not. Note thatAnonymous
July 06, 2008
When will WPF 3.5 SP1 RTM be available?Anonymous
July 06, 2008
I am not sure we have annonced a date, but it is within the next couple of months.Anonymous
July 31, 2008
NOTE: If you haven't read the first post in this series, I would encourage you do to that first , orAnonymous
July 31, 2008
NOTE: If you haven't read the first post in this series, I would encourage you do to that firstAnonymous
August 11, 2008
Visual Studio 2008 SP1 včetně .NET Frameworku 3.5 SP1 je k dispozici na adrese: http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=enAnonymous
October 01, 2008
Da poco è stata rilasciata la Service Pack 1 del framework .NET 3.5 .  Sebbene sia presentatoAnonymous
December 02, 2008
ScottGu makes it official today. There is a whole lot of stuff here, and I think its safe to say that this is "stretching" the concept of a Service Pack. Scott's post has a lot of detail. The big ticket items are the Entity Framework and AstoriaAnonymous
February 11, 2009
NOTE: If you haven't read the first post in this series, I would encourage you do to that firstAnonymous
February 26, 2009
A couple of years ago we heard clear feedback from folks that they wanted to enable a very clean experienceAnonymous
May 15, 2009
What changed in Dot Net 3.5 SP1?