Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta
page 4 of 13
by Scott Guthrie
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 62865/ 132

Improvements for Client Development

.NET 3.5 SP1 and VS 2008 SP1 contain major performance, deployment, and feature improvements for building client applications. 

Tim Sneath has a great blog post that talks about some of the client improvements here.  Below are more details on them:

Application Startup and Working Set Performance Improvements

.NET 3.5 SP1 includes significant performance improvements to the CLR that enable much faster application startup times - in particular with "cold start" scenarios (where no .NET application is already running).  Much of these gains were achieved by changing the layout of blocks within CLR NGEN images, and by significantly optimizing disk IO access patterns.  We also made some nice optimizations to our JIT code generator that allow much better inlining of methods that utilize structs.

We are today measuring up to 40% faster application startup improvements for large .NET client applications with SP1 installed.  These optimizations also have the nice side-effect of improving ASP.NET application request per second throughput by up to 10% in some cases.

New .NET Framework Client Profile Setup Package

.NET 3.5 SP1 introduces a new setup package option for developers building .NET client applications called the ".NET Framework Client Profile".  This provides a new setup installer that enables a smaller, faster, and simpler installation experience for .NET client applications on machines that do not already have the .NET Framework installed.

The .NET Framework Client Profile setup contains just those assemblies and files in the .NET Framework that are typically used for client application scenarios.  For example: it includes Windows Forms, WPF, and WCF.  It does not include ASP.NET and those libraries and components used primarily for server scenarios.  We expect this setup package to be about 26MB in size, and it can be downloaded and installed much quicker than the full .NET Framework setup package.

The assemblies and APIs in the .NET Framework Client setup package are 100% identical to those in the full .NET Framework setup package (they are literally the same binaries).  This means that applications can target both the client profile and full profile of .NET 3.5 SP1 (no recompilation required).  All .NET applications that work using the .NET Client Profile setup automatically work with the full .NET Framework.

A developer can indicate that the client application they are building supports both the .NET Framework Client Profile and the full .NET Framework by pulling up the project properties page for a client application within VS 2008 SP1.  Within the project properties page they can select a new checkbox that indicates it only requires those assemblies included in the .NET Framework Client Profile:

Figure 5

VS 2008 will then ensure that the project can only reference those assemblies shipped in the client profile setup package (and it will generate a compile error if you try and use a type in an assembly not included in the client redist).  The compiled client application will then run on machines that have both the full .NET Framework installed, as well as machines that only have the .NET Framework Client Profile installed.

If you have a machine that only has the .NET Framework Client Profile installed, and you try and run a .NET application on it that did not mark itself as supporting the .NET Framework Client Profile, then the CLR will refuse to run the application - and will instead prompt the end-user to upgrade to the full .NET Framework package.  This ensures that applications always run correctly - and that developers do not need to worry about missing assembly exceptions at runtime if a user tries to run an application that requires the full .NET Framework on a machine that only has the .NET Framework Client Profile installed.

We believe that a large class of .NET client applications will be able to use this new .NET Client Profile setup to significantly speed up their installation, and enable a much more consumer friendly experience.

New .NET Framework Setup Bootstrapper for Client Applications

.NET 3.5 SP1 introduces a new "bootstrapper" component that you can use with client applications to help automate making sure that the right version of the .NET Framework is installed. 

The bootstrapper component can handle automatically downloading and installing either the .NET Framework Client Profile or the full .NET Framework Setup Package from the Internet if your machine doesn't have either of them installed.  The boostrapper can also automatically handle upgrading machines that have a previous version of the .NET Framework installed.  For example, if your machine already has .NET 3.0 installed, and your application requires .NET 3.5, the bootstrapper can optionally download just the update files needed to upgrade it to .NET 3.5 (and avoid having to download the full .NET Framework setup download).

The setup bootstrapper component can be used with both ClickOnce based setup packages, as well as with third party installer products (like Installshield).  The boostrapper optionally enables fully customized setup branding experiences (splash screens, custom setup wizard steps, etc) and should make it much easier to build optimized client setup experiences.

ClickOnce Client Application Deployment Improvements

.NET 3.5 SP1 includes several improvements for ClickOnce deployment of both Windows Forms and WPF applications.  Some of these improvements include:

·         Support for the .NET Framework Client Profile (all ClickOnce features are supported with it)

·         ClickOnce applications can now be programmatically installed through a ‘Setup.exe’ while displaying a customized, branded install UX

·         ClickOnce improvements for generating MSI + ClickOnce application packages

·         ClickOnce error dialog boxes now support links to application specific support sites on the Web

·         ClickOnce now has design-time support for setting up file associations

·         ClickOnce application publishers can now decide to opt out of signing and hashing the ClickOnce manifests as they see appropriate for their scenarios.

·         Enterprises can now choose to run only Clickonce Applications Authenticode signed by ‘Known Publishers’ and block anything else from running

·         FireFox browser extension to support Clickonce installations using FireFox browsers

Windows Forms Controls

SP1 adds several new Windows Forms controls - including new vector shape, Printing, and DataRepeater controls:

Figure 6


View Entire Article

User Comments

Title: Not seeing Classic ASP Intellisense   
Name: Dave Neely
Date: 2008-09-18 10:18:26 AM
Comment:
I'm not seeing the intellisense for classic asp even in .asp pages. Is there a setting or library that you have to reference for this to work?
Title: SP1 Classic ASP support not quite there   
Name: Dave Tigweld
Date: 2008-08-11 4:27:54 PM
Comment:
Well now that the vs20008 sp1 rtm is out, I am having the same issue Tim mentions. Yes, I get my .asp color coding and intellisense back but only for .asp files. In VS 2005 all I had to do was to set the file assocition to web Editor for .inc file to make this work. Unfortunately this does not work in vs2008 sp1. What is the workaround?
Title: Visual Studio Support for Classic ASP Intellisense and Debugging   
Name: Tim
Date: 2008-07-11 6:49:16 AM
Comment:
Great so as long as we use .ASP pages and put VBscript at the top of each page it works. Not particularly useful though if you have one asp page including lots of .inc files that has all the code that you change on a day to day basis. At least in 2005 the highlighting worked in the .inc files. Now its comlpetely useless.

Is there no way to say all ".inc" files are ASP/VBScript pages?






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-04-19 10:28:48 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search