Visual Studio 2010 (VS2010) and .NET Framework 4.0 mark the next generation of developer tools from Microsoft. The VS2010 IDE comes in with a lot of new features and enhancements compared to its earlier counterparts. This article takes a look at these new features and enhancements and how you can make best use of them. The features discussed here apply to VS2010 Beta 2 or later (as of this writing, VS2010 Beta 2 is the current version). You can download a copy of VS2010 Beta 2 here.
Before we delve deep into the new features in VS2010, let's take a quick tour of the new features in Microsoft .NET Framework 4.0. (.NET Framework 4.0 is available as part of VS2010 Beta 2 or later.)
New Features in .NET 4.0
The most important addition to .NET 4.0 is the Dynamic Language Runtime (DLR), which provides a common set of technologies targeted at the managed environment to interoperate. Per MSDN, "The dynamic language runtime (DLR) is a runtime environment that adds a set of services for dynamic languages to the common language runtime (CLR). The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages. Dynamic languages can identify the type of an object at run time, whereas in statically typed languages such as C# and Visual Basic (when you use Option Explicit On) you must specify object types at design time. Examples of dynamic languages are Lisp, Smalltalk, JavaScript, PHP, Ruby, Python, ColdFusion, Lua, Cobra, and Groovy."
.NET 4.0 provides support for the DLR environment through the new System.Dynamic namespace. The DLR runs on top of the CLR and provides the following services:
- dynamic method dispatch
- dynamic type system
- expression trees
- dynamic code generation
- Standard Hosting API
The DLR consists of the following three layers:
- The .NET language integration layer
- DLR code components
- language binders
New Features and Enhancements in VS2010
New features and enhancements in the VS2010 IDE include:
- enhanced support for multi-targeting
- support for call hierarchy of methods
- support for parallel programming and debugging
- support for XSLT profiling and debugging
- support for creating SharePoint applications
- quick search
- XSD Designer
- UML Designer
Multi-targeting is a feature that you can use to design and implement applications targeted at various versions of .NET Framework. The VS2010 IDE provides support for designing and implementing applications targeted at .NET versions 2.0, 3.0, 3.5, and 4.0.