Mickey Williams
Technical Director
Neudesic, LLC
Microsoft C# MVP
Agenda
 Visual Studio 2008
 .NET Framework 3.5
 ASP.NET
 Futures
 Language changes
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
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
.NET Framework 3.5
 LINQ
LINQ to Objects
LINQ to SQL
LINQ to DataSet
LINQ to XML
 ASP.NET enhancements
 Improved REST support
LINQ
 General set-oriented syntax
 Available for C# and Visual Basic
 Leverages language enhancements
LINQ to XML
 Simplified syntax for working with XML
 Easier to query and compose XML
 Easily integrate with other LINQ queries
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
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);
}
}
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
Futures
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
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-*
Language Changes
• var
• Compiler inference of variable types
• extension methods
• Simplified extension of sealed types
• object initializers
• Initialization without specialized constructors
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
Demo
 Visual Studio
 AJAX
 C# 3.0
var
Extension methods
Initializers
Anonymous types
 LINQ
Resources
 http://msdn.microsoft.com/vcsharp
 http://weblogs.asp.net/scottgu
 http://www.asp.net
 http://blogs.neudesic.com
 mickey.williams@neudesic.com

Visual Studio 2008 and .NET 3.5 Overview

  • 1.
  • 2.
    Agenda  Visual Studio2008  .NET Framework 3.5  ASP.NET  Futures  Language changes
  • 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  ImprovedVSTE 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
  • 6.
    LINQ  General set-orientedsyntax  Available for C# and Visual Basic  Leverages language enhancements
  • 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 SQLCode 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 andIIS 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
  • 11.
  • 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.0announced 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 • arrayinitializers • 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
  • 16.
    Demo  Visual Studio AJAX  C# 3.0 var Extension methods Initializers Anonymous types  LINQ
  • 17.
    Resources  http://msdn.microsoft.com/vcsharp  http://weblogs.asp.net/scottgu http://www.asp.net  http://blogs.neudesic.com  mickey.williams@neudesic.com