3. Visual Studio 2008
Unit testing for Visual Studio Professional
Simplifies unit tests across organizations
Developer metrics
Cyclomatic complexity
Coupling
LINQ to SQL Designer
Improved experience for ASP.NET dev
JavaScript debugging and IntelliSense
Improved web design experience
4. VSTS 2008
Improved VSTE
More test options
PowerTool features (Annotate, FolderDiff, etc.)
Team Foundation Server
Support for WSS 3.0, MOSS 2007, SQL 2008
SQL named instances
Continuous integration
5. .NET Framework 3.5
LINQ
LINQ to Objects
LINQ to SQL
LINQ to DataSet
LINQ to XML
ASP.NET enhancements
Improved REST support
7. LINQ to XML
Simplified syntax for working with XML
Easier to query and compose XML
Easily integrate with other LINQ queries
8. LINQ to SQL
ADO supports queries with LINQ
Simple ORM layer
Programming model fits with language
○ VB slightly different than C#
○ Natural grouping, navigation, scoping, etc.
Compiler can verify query syntax
○ IDE can provide Intellisense
Developers don’t need to context switch
9. LINQ to SQL Code
using(var db = new PubsDBContext())
{
var authors = from a in db.authors
orderby a.au_id
select a;
foreach(var author in authors)
{
Console.WriteLine("{0} {1}",
author.au_fname, author.au_lname);
}
}
10. ASP.NET
ASP.NET and IIS 7 share request pipeline
AJAX a first-class part of web dev
Support for AJAX WCF services
Real JavaScript IntelliSense
Real JavaScript debugging
Split UI for page design
New CSS design tools
Nested master pages
12. AJAX MVC Framework
Real MVC Support
Controllers, Views, Models
Simplifies reuse and testing
Test project created automatically
CTP delivery through development cycle
CTP coming next week
Part of the ASP.NET 3.5 Extensions CTP
13. Silverlight
Silverlight 2.0 announced today
Re-branding of Silverlight 1.1
Beta release Q12008 with go-live license
WPF UI Framework
Richer control support
Layout (panels, grids, etc.)
Common controls (tabs, sliders, scrollers)
Rich networking support
REST, POX, RSS, WS-*
14. Language Changes
• var
• Compiler inference of variable types
• extension methods
• Simplified extension of sealed types
• object initializers
• Initialization without specialized constructors
15. Language Changes
• array initializers
• Simplified syntax for initializing collections
• anonymous types
• Objects can be created with an unknown type
• lambda expressions
• Expressions as first-class citizens
• Forms the basis for LINQ