Visual Studio 2010, .NET 4.0, C# and VB .NET 4 - What's New?
I'm starting a series of blog posts today on what's new in the following technologies:
- Visual Studio 2010
- .NET 4.0
- C# and VB .NET 4
I'll be giving my take on these technologies, grading them, and talk about how they can and should impact your software development.
Here's the big picture for Visual Studio 2010...in subsequent posts we will dive down into details of the new features.
Visual Studio 2010
Visual Studio itself has changed more than any of the other technologies. Working with the beta, I'm amazed at how stable it is. Here are some of the big changes (note that I'm only listing changes for VS 2010 at design time--I'll be talking about other changes to core technologies such as WPF, WF, ASP.NET, and so on in a future post):
WPF and Silverlight
If you are a WPF or Silverlight developer, you need to use Expression Blend less because:
- Data Binding is now supported for WPF and Silverlight applications - you can even use Drag and Drop to quickly create and bind a user interface
- You can now lay out a user interface in Silverlight - in VS 2008, there was only support for WPF UI layout
Entity Framework Enhancements
- Model-First is now supported - in VS 2008, EF design was bottom up - you could only create an Entity Data Model from a database. Now you can create a database from an Entity Data Model
- Greater control over how foreign keys are handled
- It's easier to test Entity Framework applications
- You can use Plain-Old-CLR objects (POCO) with the EF. You don't need to subclass your entity objects from a .NET entity type or implement an interface - unless you want to
- It's easier to create n-tier apps with EF
- It's easier to customize the code generated by the EF
- The Model Browser window allows you to delete objects from the storage model
- You can now search the conceptual and storage models for a specific string
- Automatic pluralization / singularization of class names when generating from a database
- Lazy loading and more stored procedure mapping abilities
- Better LINQ support
- Improved T-SQL performance and improved readability of generated queries
ASP.NET
- Clean web.config files contain less information by default
- New project templates that provide more functionality out of the box
- ASP.NET Code Snippets now work for HTML, ASP.NET markup, and JavaScript
- New field templates for URLs and e-mail addresses
- New dynamic hyperlink control
- Client template rendering
- Improved CSS Compatability
- JScript IntelliSense enhancements
- Deployment improvements including:
- Web packaging (creates a deployment zip file with everything you need to install)
- Web configuration-file transformation (Transform a web.config file from development to production settings)
- Database deployment - (VS includes SQL Scripts and optionally data in the deployment package which it can run at installation time)
- One-cick publishing (Use IIS remote management service to publish a Web application to a remote server)
- Support for the MVC-Based Web Applications
- Enhancements to ASP.NET Multitargeting
Visual Studio 2010 Editor
- Enhanced docking behavior, including support for multiple monitors
- Zoom in/out of any code editing window or or text editing window
- Call hierarchy for C# is available at design time (vs. stack trace available at run time) that allows you to explore execution paths by examining compex chains of method calls.
- Navigate To - Allows you to search for a symbol or file in the source code
- Highlighting References - When you click a symbol in source code, all instances of that sybol are automatically highlighted
- Generate from usage - allows you to use classes and members before you define them
- IntelliSense now has two modes--standard and consume-first. You use consume-first if you are using classes and members before they are defined (Type Ctrl+At+Space to switch to consume-first mode). This is useful when doing Test-Driven-Development and you are writing tests first.
Team System Architecture
- New architecture explorer
- New Model Explorer
- New Diagrams support for UML 2.1.1
- Layer diagrams
- UML Class diagrams (different than the class diagrams introduced in VS 2005 - now there are two kinds of class diagrams)
- UML Activity diagrams
- UML Use case diagrams
- UML Sequence diagrams
- UML Component diagrams
- New Modeling Project which contains your UML diagrams
- Generate Sequence, Class, and Layer Diagrams from code
Office Business Applications
- Build Office applications that span multiple versions of Office
- New designer support for building flexible UI's in WPF or Fluent
- Easier to consume data with LINQ and enhanced data-binding capabilities
Visual Studio Extensions
Extension Manager lets users easily add and remove Visual Studio Extensions
Quality / Testing
- Test Impact View - Identify and run only tests impacted by specific code
- Test Runner Tool - New tool that a test users to guide them through a series of steps to complete a test case. It can take snapshots of test environment, appication screen shots an video for assistance in reproducing bugs
Soure Control
- New enhanced version control features including gated check-in, branch visualization and build workflow
- Can now perform constraint checks on code during check-in based on the Architecture Layer Diagram
Project Management
- New integation with Project Server for enterprise-wide project management
- New features for Agile project scheduling with Excel
Best Regards,
Kevin McNeish
INETA Speaker
Chief Architect - MM .NET Application Framework