Today’s release is a big one – and brings with it a ton of
new feature and capabilities.
One of the things we tried hard to focus on with this
release was to invest heavily in making existing applications, projects and
developer experiences better. What this means is that you don’t need to
read 1000+ page books or spend time learning major new concepts in order to
take advantage of the release. There are literally thousands of
improvements (both big and small) that make you more productive and successful
without having to learn big new concepts in order to start using them.
Below is just a small sampling of some of the improvements
with this release:
Visual Studio 2010 IDE
Visual Studio 2010 now supports multiple-monitors (enabling much better use of
screen real-estate). It has new code Intellisense support that makes it easier to find
and use classes and methods. It has improved code navigation support for searching code-bases and seeing
how code is called and used. It has new code visualization support that
allows you to see the relationships across projects and classes within
projects, as well as to automatically generate sequence diagrams to chart
support is now much, much richer and enables new features like Intellitrace
(aka Historical Debugging), debugging of Crash/Dump files, and better parallel
debugging. VS 2010’s multi-targeting support is now much richer, and enables you
to use VS 2010 to target .NET 2, .NET 3, .NET 3.5 and .NET 4
applications. And the infamous Add Reference dialog now loads much faster.
TFS 2010 is now easy to setup (you can now install the
server in under 10 minutes) and enables great source-control, bug/work-item
tracking, and continuous integration support. Testing support (both
automated and manual) is now much, much richer. And VS 2010 Premium and
Ultimate provide much better architecture and design tooling support.
VB and C# Language Features
VB and C# in VS 2010 both contain a bunch of new features
and capabilities. VB adds new support for automatic properties, collection initializers, and implicit
line continuation support among many other features. C# adds support for optional parameters and named arguments, a new dynamic
keyword, co-variance and contra-variance, and among many other features.
ASP.NET 4 and ASP.NET MVC 2
With ASP.NET 4, Web Forms controls now render clean, semantically correct, and CSS friendly HTML
markup. Built-in URL routing functionality allows you to expose clean,
search engine friendly, URLs and increase the traffic to your Website.
ViewState within applications can now be more easily controlled and made
smaller. Client IDs rendered by server controls can now be
controlled. ASP.NET Dynamic Data support has been enhanced. More
controls, including rich charting and data controls, are now built-into ASP.NET
4 and enable you to build applications even faster. New starter project templates now make it easier to get going
with new projects. SEO enhancements make it easier to drive traffic to your
public facing sites. And web.config files are now clean and simple.
ASP.NET MVC 2 is now built-into VS 2010 and ASP.NET 4, and
provides a great way to build web sites and applications using a
model-view-controller based pattern. ASP.NET MVC 2 adds features to easily enable client and
server validation logic, provides new strongly-typed HTML and UI-scaffolding helper
methods. It also enables more modular/reusable applications. The new <%: %> syntax in ASP.NET makes it easier to HTML
encode output. Visual Studio 2010 also now includes better tooling
support for unit testing and TDD. In particular, “Consume first
intellisense” and “generate from usage" support within VS 2010 make it
easier to write your unit tests first, and then drive your implementation from
Deploying ASP.NET applications gets a lot easier with this
release. You can now publish your Websites and applications to a staging or
production server from within Visual Studio itself. Visual Studio 2010 makes it
easy to transfer all your files, code, configuration, database schema and data
in one complete package. VS 2010 also makes it easy to manage separate
web.config configuration files settings depending upon whether you are in
debug, release, staging or production modes.
WPF 4 and Silverlight 4
WPF 4 includes a ton of new improvements and capabilities including more built-in
controls, richer graphics features (cached composition, pixel shader 3 support,
layoutrounding, and animation easing functions), a much improved text stack
(with crisper text rendering, custom dictionary support, and selection and
caret brush options). WPF 4 also includes a bunch of support to enable
you to take advantage of new Windows 7 features – including multi-touch and
Windows 7 shell integration.
Silverlight 4 will launch this week as well. You can watch my Silverlight 4 launch keynote streamed live Tuesday
(April 13th) at 8am Pacific Time. Silverlight 4 includes a ton of new
capabilities – including a bunch for making it possible to build great business
applications and out of the browser applications. I’ll be doing a
separate blog post later this week (once it is live on the web) that talks more
about its capabilities.
Visual Studio 2010 now includes great tooling support for
both WPF and Silverlight. The new VS 2010 WPF and Silverlight designer
makes it much easier to build client applications as well as build great line
of business solutions, as well as integrate and bind with data. Tooling
support for Silverlight 4 with the final release of Visual Studio 2010 will be
available when Silverlight 4 releases to the web this week.
SharePoint and Azure
Visual Studio 2010 now includes built-in support for
building SharePoint applications. You can now create, edit, build, and debug SharePoint applications
directly within Visual Studio 2010. You can also now use SharePoint with
Support for creating Azure-hosted applications is also now
included with VS 2010 – allowing you to build ASP.NET and WCF based
applications and host them within the cloud.
Data access has a lot of improvements coming to it with .NET
4. Entity Framework 4 includes a ton of new features and capabilities –
including support for model first and POCO development, default support for
lazy loading, built-in support for pluralization/singularization of
table/property names within the VS 2010 designer, full support for all the LINQ
operators, the ability to optionally expose foreign keys on model objects
(useful for some stateless web scenarios), disconnected API support to better
handle N-Tier and stateless web scenarios, and T4 template customization
support within VS 2010 to allow you to customize and automate how code is
generated for you by the data designer.
In addition to improvements with the Entity Framework, LINQ
to SQL with .NET 4 also includes a bunch of nice improvements.
WCF and Workflow
WCF includes a bunch of great new capabilities – including better REST, activation
and configuration support. WCF Data Services (formerly known as Astoria)
and WCF RIA Services also now enable you to easily expose and work with data
from remote clients.
Windows Workflow is now much faster, includes flowchart
services, and now makes it easier to make custom services than before.
More details can be found here.
CLR and Core .NET Library Improvements
.NET 4 includes the new CLR 4 engine – which includes a lot
of nice performance and feature improvements. CLR 4 engine now runs
side-by-side in-process with older versions of the CLR – allowing you to use
two different versions of .NET within the same process. It also includes
improved COM interop support.
The .NET 4 base class libraries (BCL) include a bunch of nice additions and refinements. In
particular, the .NET 4 BCL now includes new parallel programming support that
makes it much easier to build applications that take advantage of multiple CPUs
and cores on a computer. This work dove-tails nicely with the new VS 2010
parallel debugger (making it much easier to debug parallel applications), as
well as the new F# functional language support now included in the VS 2010
IDE. .NET 4 also now also has the Dynamic Language Runtime (DLR) library
built-in – which makes it easier to use dynamic language functionality with
.NET. MEF – a really cool library that enables rich extensibility – is
also now built-into .NET 4 and included as part of the base class
.NET 4 Client Profile
The download size of the .NET 4 redist is now much smaller
than it was before (the x86 full .NET 4 package is about 36MB). We also
now have a .NET 4 Client Profile package which is a pure sub-set of the full
.NET that can be used to streamline client application installs.
VS 2010 includes a bunch of great improvements for C++ development. This
includes better C++ Intellisense support, MSBuild support for projects,
improved parallel debugging and profiler support, MFC improvements, and a
number of language features and compiler optimizations.