Brian H. Prince
Director, Application Development Consulting
Practice
Quick Solutions, Inc.
This material was adopted from the VS2008 training kit.
.NET Framework & Visual Studio Roadmap
.NET Framework 3.5 overview
Visual Studio design goals
Lap around new features
.NET Framework 3.5
LINQ
ASP.NET 3.5
CLR Add-in
Framework
Additional
Enhancements
.NET Framework 3.0 + SP1
Windows
Presentation
Foundation
Windows
Communication
Foundation
Windows
Workflow
Foundation
Windows
CardSpace
.NET Framework 2.0 + SP1
Major
Releases
RTM
3.0
3.5 RTM
Out of band
Releases
•VS 2008 Beta 2
•.NET Framework 3.5 Beta 2
• VS Extensions for WF
• VS Extensions for WCF/WPF CTP
ASP.NET AJAX 1.0
2006
2007
2008
“Rosario”
Best tool set for Windows Server 2008, Windows Vista and
Microsoft Office 2007
.NET Framework 3.5 design surfaces
Office 2007 support including ClickOnce and VSTO
MFC support for Vista common controls
Improvements for Web Developers
HTML / CSS designer enhancements
Integrated AJAX and JavaScript support
Language advances
.NET Framework multi-targeting support
Improved Data & Language integration in VB / C#
Multi-targeting
Target multiple versions of the framework from a
single tool - Visual Studio 2008
Supports framework versions 2.0, 3.0, and 3.5
Enables only features available in target framework
Toolbox, Project types, References, Intellisense, …
Making is easy to upgrade to Visual Studio 2008
Unit Testing
Now available in all editions of Visual Studio
Professional
Team Foundation Server 2008
Built-in support for Continuous Integration
TFS Migration Toolkit
“Get latest on checkout”
Annotate
Folder Diff
For developers:
Code metrics
Performance “hotpathing”
Profiler baselining
Much faster unit testing performance
For testers:
Load testing support for AJAX applications
Better UI for load test monitoring / reporting
And much more…
Local Variable Type Inference
Object Initializers
Collection Initializers
Anonymous Types
Auto-Implemented Properties
Extension Methods
Lambdas
Query Expressions
Expression Trees
Partial Methods
Person p = new Person()
{ FirstName = "John", LastName = "Doe“};
Person p = new Person()
p.FirstName = “John”;
p.LastName = “Doe”;
var cookies = new List<Cookie>
{ new Cookie("cookie1", "1"),
new Cookie("cookie2", "2") };
Person aPerson = new Person(24);
var aPerson = new Person(24);
public class Cust
{
public int CustId { get; set; }
private string _CustName;
public string CustName
{
get { return _CustName; }
set { _CustName = value; }
}
}
var obj = new { CustId = 1, CustName = "C#" };
private string _Test1;
public string Test1
{
get { return _Test1; }
set { _Test1 = value; }
}
public string Test { get; set; }
Extension methods will allow us to extend
existing classes with new functionality.
In C++ these are called ‘non member
functions’
public static string SuperUpper (this string s)
{
Return s.ToUpper();
}
Lambda Expressions
Expression Trees
Partial Methods
…
Query expressions
XML literals
XML element access
Nullable types
Object initializers
Local type inference
Lambda Expressions
Extension methods
Expression trees
Anonymous types
Ternary Operator
Coalesce Operator
Relaxed Delegates
Partial Methods
…and many other IDE improvements, bug fixes, and small features!
Strategy - Phased Upgrades using Interop
Reduce Risk by moving one Form at a time
Extend existing assets with VB.NET
Microsoft Interop Forms Toolkit (v2.0)
Guidance, tools, and code to make upgrades easier
Not a code converter!
VB6 Application
VB6
Form(s)
Interop
(COM)
VB.NET
Form(s)
New programming model for data access that integrates
query support directly within the .NET languages
Designed to reduce the complexity when working with data
Query operators can be used against any collection
Built-in examples: Select, Where, GroupBy, Join, etc.
Extensibility model supports extending/replacing these
Benefits
Work with data in a consistent way, regardless of the type of data
Interact with data as objects
Better integration with programming languages
Improved productivity through IntelliSense in Visual Studio
C# 3.0
VB 9.0
Others…
.NET Language Integrated Query
LINQ to
Objects
LINQ to
DataSets
LINQ to
SQL
LINQ to
XML
<book>
<title/>
<author/>
<year/>
<price/>
</book>
Objects
Relational
XML
var expensiveInStockProducts =
from p in products
where p.UnitsInStock > 0 &&
p.UnitPrice > 3.00M
select p;
System.TimeZoneInfo
System.DateTimeOffset
System.Collections.Generic.HashSet
System.IO.Pipes (Named Pipes)
New Suite-B encryption algorithms
EventSchemaTraceListener
Support for new Vista event log (ETW)
System.Threading.ReaderWriterLockSlim
Dynamic Language Initiative
Community
Microsoft
Scripting Hosts
Hosts
Silverlight
ASP.NET
Languages
Languages
IronPython
IronRuby
JSx
VBx
Dynamic Language Runtime(DLR)
Frameworks
Common Language Runtime (CLR)
To be delivered by:
DLR Team
Partner Teams
Community
Technologies added in .NET 3.0
WCF – Unified programming model and runtime for services
WF - Flexible, declarative workflow runtime and activities
New enhancements in .NET 3.5
Http Programming Model
JSON serialization & ASP.NET AJAX integration
Syndication
Integrated support for WF & WCF (“Silver”)
Partial Trust
Integrated developer tools in Visual Studio 2008
Add Service Reference
Integrated WF Designer
Project & item templates
Autohost & test client
WCF Configuration Editor
Visual Studio Designer for WPF (“Cider”)
XAML-based editing directly in the IDE
Changes reflected in the designer in real-time
XAML IntelliSense
Selection Synchronization
ClickOnce deployment support for WPF apps
Project templates, debugger & deployment support
Side-by-side support for Winforms
Creates a seamless designer/developer workflow
with Expression Interactive Designer (“Sparkle”)
Firefox Support for XBAPs
Needs correct MIME types from server
HTTP Cookie Support
Access the data from HTTP Requests
Both XBAPs and Standalone Applications
Support for Add-Ins
CLR has new isolated Add-In model
Support for isolated WPF Add-Ins via HWND
Support for Xlinq binding
Maps XML through TypeDescriptor objects
Path, not XPath
Path=Element[content].Attribute[url].Value
Improved performance of IEnumerable
Previously used constant re-enumeration
Now using a snap-shot
Potential order of magnitude improvement
Watch working set
Better Performance in XML (DOM) Binding
If Xml Document is changing a lot
If there are lots of trivial XPaths
Orders of magnitude faster updates
Improved performance in Datasets
Previouslt DataSet Rows = funky identity
semantics, lots of refreshes and weird behavior
Now identity semantics are fixed
Much faster with changing data
Integrated support for ASP.NET AJAX 1.0
Included in the .NET Framework 3.5
ASP.NET AJAX Project Templates
Web Application Projects included in Visual Studio
Javascript IntelliSense & Debugging
Richer HTML/CSS Designer Support
Split View (simultaneous source and designer)
Nested Master Page preview in designer
CSS Properties, Manage/Apply Styles windows, and direct style
application toolbar
Improved CSS/HTML layout and visualization in designer
New Web data controls
LinqDataSource, ListView, DataPager
VS 2008 includes Visual Studio Tools for Office 3.0
Provides integrated visual designers for:
Word and Excel documents and templates
Fluent Ribbon
Task & Action panes
Outlook Form Regions
Integrated Workflow & Microsoft SharePoint Support
Data binding in Word Content Controls
Application-level add-ins for most client programs (both
2003 & 2007)
Document-level add-ins for Excel & Word 2007
Improved deployment and security using ClickOnce
Visual Studio Tools for Devices
Unit Testing for Device Applications
Device Emulator 3.0 – Certificate support, Xml config
Broad Platform and runtime Support
.NET Compact Framework 3.5
Support for LINQ (XML, Objects and Dataset)
Windows Communication Foundation
CLR Profiler / Performance Monitor
BCL enhancements: Compression support, Client-side
certificates, Sound APIs
Descargar

Title of Presentation - Central Ohio .NET Developers Group