This topic contains information about some of the new features and enhancements in Visual Studio 2008. For a comprehensive list of new features, see An Overview of Visual Studio.
Topic Contents
Settings Migration
If you have Visual Studio 2005 and Visual Studio 2008 installed on the same computer, then when you first start Visual Studio 2008, you can migrate most of your settings from Visual Studio 2005. Third-party code snippets and add-ins cannot be automatically migrated and must be manually installed again for use in Visual Studio 2008. If you do not have Visual Studio 2005 and Visual Studio 2008 installed on the same computer, you can still manually migrate your Visual Studio 2005 settings for use in Visual Studio 2008. For more information, see How to: Share Settings Between Computers or Visual Studio Versions and Visual Studio Settings.
Community Components
When you author community components by using Visual Studio 2008, you can specify whether you intend the component to be installed for use with Visual Studio 2005 and Visual Studio 2008 or just with Visual Studio 2008 by using a new value for the ContentVersion element. If you install a community component designed in Visual Studio 2005, the component will automatically be installed for use with both Visual Studio 2005 and Visual Studio 2008.
Note: |
---|
A community component created by using Visual Studio 2005 might not work in Visual Studio 2008 and vice versa, depending on the design. |
For more information, see How to: Package Community Components to Use the Visual Studio Content Installer and Community Component Essentials.
Community and Help Menus
The Community menu has been removed for Visual Studio 2008. The commands formerly known as Ask a Question and Check Question Status have been combined into a new command named MSDN Forums, which is on the Help menu. The Send Feedback command is now the Report a Bug command, also on the Help menu. All other commands that were on the Community menu were removed from Visual Studio 2008.
Window Management and General User Elements
Several user interface (UI) elements have been updated. These include the following:
-
IDE Navigator: An improved interface makes switching between items easier.
-
Tool window docking targets have been improved to make tool windows easier to dock.
-
Common dialog boxes: Visual Studio 2008 uses Windows standard dialog boxes instead of custom dialog boxes. This makes the navigation experience more consistent with that of Windows.
-
You can now specify a custom font for IDE elements not identified individually in the Show settings for list in the Fonts and Colors, Environment, Options Dialog Box by using the new option Environment Font.
Class Designer Support for Visual C++ Code
In previous versions of Visual Studio, the Class Designer supported only the managed languages (Visual C# and Visual Basic). In Visual Studio 2008, Class Designer adds limited support for native C++ code, intended to be used only for visualization and documentation. For more information about Visual C++ support in Class Designer, see Working with Visual C++ Code in Class Designer.
Web Application Projects
The new Web application project model provides the same Web project semantics as the Visual Studio .NET 2003 Web project model. This includes a structure based on project files and a build model based on compiling all the code for a project into a single assembly. In addition, the new project type supports many of the new features of Visual Studio 2005 (such as class diagrams, test development, and generics) and of ASP.NET version 2.0 (such as master pages, data controls, membership and logon, role management, Web parts, personalization, site navigation, and themes).
The Web application project model in Visual Studio 2005 removes two elements that are required for Web projects in Visual Studio .NET 2003:
-
Using FrontPage Server Extensions. These are no longer required, but they are supported if your site already uses them.
-
Using a local copy of Internet Information Services (IIS). The new project model supports both IIS and the built-in ASP.NET Development Server.
Use Web application projects when you have to do one of the following:
-
Migrate large applications from Visual Studio .NET 2003 to Visual Studio 2005.
-
Control the names of output assemblies.
-
Use stand-alone classes to reference page and user-control classes.
-
Build a Web application that includes multiple Web projects.
-
Add pre-build and post-build steps during compilation.
For more information about Web application projects, see Web Application Projects.
Project Designer
Project Designer Support for Windows Presentation Foundation (WPF) Applications
Windows Presentation Foundation (WPF) applications have been added to Visual Studio 2008. There are four WPF project types:
-
WinFX Windows Application (.xaml, .exe)
-
WinFX Web Browser Application (.exe, .xbap)
-
WinFX Custom Control Library (.dll)
-
WinFX Service Library (.dll)
When a WPF project is loaded in the IDE, the user interface of the Project Designer pages lets you specify properties specific to WPF applications.
Project Designer Support for Web Application Projects
Web Application projects were added to Visual Studio in Visual Studio 2005 Service Pack 1 and are also included in Visual Studio 2008. The new Web Application project model provides the same Web Application project semantics as the Visual Studio .NET 2003 Web project model, except updated with features of Visual Studio 2005 and ASP.NET version 2.0. The Visual Studio Project Designer supports Web application projects, with the following limitations:
-
On the Settings page, Web application projects can only be application-scoped. For more information, see Settings Page, Project Designer.
-
On the Signing page, the manifest signing option is disabled because Web application projects do not use ClickOnce deployment. For more information, see Signing Page, Project Designer.
Project Designer Multitargeting Support
Multitargeting lets you target code to a specific .NET Framework version:
-
.NET Framework 2.0, which was included with Visual Studio 2005.
-
.NET Framework 3.0, which is included with Windows Vista.
-
.NET Framework 3.5, which is included with Visual Studio 2008.
To support multitargeting, the Advanced Compiler Settings (Visual Basic) and Advanced Build Settings (C#) dialog boxes have a new Target framework drop-down list that lets you specify these operating systems. For more information, see Advanced Compiler Settings Dialog Box (Visual Basic) and Advanced Build Settings Dialog Box (C#).
Deployment
ClickOnce Deployment
ClickOnce deployment has been enhanced with the following new features:
-
ClickOnce supports the deployment of WPF Web Browser Applications. WPF Web Browser Applications are hosted in a Web browser and therefore require special deployment and security settings. When you build and deploy these applications, Visual Studio will provide appropriate user interface and default values.
-
ClickOnce gives ISVs the option to re-sign the application manifest with their customer's company name, application name, and deployment/support URL. When end users install the application, the ISV's original company branding still appears on the "Do you want to trust this application?" dialog box.
-
You can build and deploy Visual Studio Tools for Office applications by using the Project Designer's Publish page or the Publish Wizard.
-
ClickOnce supports manifest generation under User Access Control (UAC) on Windows Vista.
Windows Installer Deployment
Windows Installer deployment has been updated for Windows Vista and the latest .NET Framework versions:
-
Windows Installer has been updated so that installation on Windows Vista is smooth, even when it is running under User Account Control (UAC).
-
The .NET Framework Launch Condition supports targeting applications for the new .NET Framework 3.0 and 3.5 versions.
For more information, see What's New in Deployment.
New Design View and CSS Design Tools
Visual Studio 2008 now has a rich CSS editing experience with several new tools to make working with cascading style sheets (CSS) easier than ever. Much of the work designing the layout and styling content can be done in Design view using the CSS Properties grid, the Apply Styles and Manage Styles panes, and the Direct Style Application tool. You can also change positioning, padding, and margins in Design view using WYSIWYG visual layout tools.
IntelliSense for Jscript and ASP.NET AJAX
IntelliSense has been significantly improved and now supports JScript authoring and ASP.NET AJAX scripting. Client script that is included in a Web page by using <script> tags now has the benefit of IntelliSense, as do .js script files.
Object Browser and Find Symbol Support for Multi-targeting
You now can specify that the Object Browser display only information for a single version of the .NET Framework or the .NET Compact Framework. In addition, Find Symbol, Find and Replace Window searches can be restricted to a single version of the .NET Framework or the .NET Compact Framework.
WPF Designer
The Windows Presentation Foundation (WPF) Designer lets you create WPF applications and custom controls in the IDE. The WPF Designer combines real-time editing of XAML with an enhanced graphical design-time experience. The following features are new for the WPF Designer:
-
SplitView lets you adjust objects in the graphical designer and immediately view the changes to the underlying XAML code. Likewise, changes to the XAML code are immediately reflected in the graphical designer.
-
The Document Outline window lets you view and move through your XAML with full selection synchronization between the designer, the document outline, the XAML editor, and the Properties window.
-
IntelliSense in the XAML editor enables rapid code entry. IntelliSense now supports types that you have defined.
-
Grid lines can be added to grids in the designer to enable easy grid-based control placement.
-
Snap lines let you easily align controls and text.
-
The designer now supports the loading of types you have defined, including custom controls and user controls.
-
You can cancel loading of large XAML files.
-
Design-time extensibility supports design mode, licensing, and property editors.
Language-Integrated Query (LINQ)
The standard query operators are the methods that comprise the query capabilities in the LINQ pattern. For more information about the standard query operators, see:
Standard Query Operators Overview
Changes in the LINQ API since Beta 1:
-
The five Func types have moved from the System.Linq namespace to the System namespace.
-
IOrderedEnumerable<(Of <TElement>)> replaces System.Linq.IOrderedSequence(Of TElement).
-
There are new method overloads in Enumerable and Queryable.
-
The IQueryProvider class is new. The CreateQuery() and Execute() methods that were previously declared in the IQueryable and IQueryable<(Of <T>)> classes are now in the IQueryProvider class. IQueryable also has a new property, Provider.
-
The ILookup<(Of <TKey, TElement>)> type is new and there is a new method on Lookup<(Of <TKey, TElement>)>, ApplyResultSelector<(Of <TResult>)>.
-
There are new method overloads in the Expression class.
-
The ElementInit type is new.
-
The Initializers property replaces the System.Linq.Expressions.MemberListBinding.Expressions property.
-
There are new properties on the BinaryExpression, ListInitExpression and NewExpression types.
-
UnaryPlus is new and eight ExpressionType members have been removed.
-
Five types were removed from the System.Linq.Expressions namespace.
Visual Studio 2008 provides several new reporting features and improvements.
New Report Projects
Visual Studio 2008 includes two new project templates for creating reporting applications. You will find the Reports Application template available on the New Project dialog box and the ASP.NET Reports Web Site template available on the New Web Site dialog box. When you create a new Reports Application project, Visual Studio provides a report (.rdlc) and a form (.vb/.cs) with a ReportViewer control bound to the report. For an ASP.NET Reports Web Site project, Visual Studio will create a Web site that contains a report (.rdlc), default ASP.NET page (.aspx) with a ReportViewer control bound to the report, and Web configuration file (.config).
When you create a report project, a new Report Wizard is started. You can then use the wizard to build the report, or alternatively, close the wizard and build the report manually.
Report Wizard
Visual Studio 2008 introduces a Report Wizard, which guides you through the steps to create a basic report. You will select a report data source, define a data set, select a report type (tabular or matrix), and apply a style to the report. After you complete the wizard, you can enhance the report by using Report Designer.
The Report Wizard is started automatically when you create a new Reports Application project or ASP.NET Reports Web Site.
Expression Editor Enhancement
The Expression Editor now provides sample expressions that you can use in report expressions. You can copy the sample expressions to your report to use as is or modify to suit your needs.
ReportViewer Printing
The RSClientPrint control is now available when the ASP.NET ReportViewer control is configured for local processing. This enables you to print reports that have been processed by the control and are independent of a report server.
PDF Compression
The ReportViewer controls will now compress reports that are rendered or exported to the PDF format when they are configured for local processing.
Target a Specific .NET Framework
MSBuild now lets you build projects for specific versions of the .NET Framework. Several new API functions support this new functionality. For more information, see Building for Specific .NET Frameworks.
Multiple Processor Capabilities
MSBuild now recognizes when a system is using multiple processors, either multicore processors or multiple separate processors. MSBuild uses all the available processors to reduce the overall build time for projects. For more information, see Taking Advantage of Multiple Processors for Building Projects.
Enhanced Logging
Build event logging has been upgraded to handle multi-processor builds. MSBuild now supports the distributed logging model in addition to the central logging model, and introduces a new technology known as "forwarding loggers." For more information, see Logging in a Multi-Processor Environment.
Item Definitions
The new ItemDefinitionGroup project file element lets you define a set of Item Definitions, which are global default metadata values that are applied to all items in the project. For more information, see Item Definitions.
Comments