Visual Studio “Orcas” & .NET Framework v3.5 Mike Taulty, Daniel Moth Developer & Platform Group Microsoft Ltd Mike.Taulty@microsoft.com Daniel.Moth@microsoft.com http://www.mtaulty.com, http://www.danielmoth.com/Blog
Agenda Timeline, Packaging Languages Working with Data .NET Framework v3.5 Client Development Server Side Development
Timeline, Packaging
.NET Through the Ages 2002 2003 2005 2006 2007 Tool (Visual Studio) VS.NET 2002 VS.NET 2003 VS2005 + Extensions “Orcas” Languages C# v1.0 VB.NET (v7.0) C# v1.1 VB.NET (v7.1) C# v2.0 VB2005 (v8.0) as before C# v3.0 VB9 Framework Libraries NetFx v1.0 NetFx v1.1 NetFx v2.0 NetFx v3.0 NetFx v3.5 Engine (CLR) CLR v1.0 CLR v1.1 CLR v2.0
Languages
Language Design Goals Simplify querying data And 12/6/2018 8:45 AM Language Design Goals Simplify querying data Integrate query and transform operations Unify query of data object, relational, and XML And Don’t tie language to specific APIs Remain 100% backwards compatible
LINQ to Objects
Local variable type inference Language Innovations Query expressions var contacts = from c in customers where c.City == "Hove" select new { c.Name, c.Phone }; Local variable type inference Lambda expressions var contacts = customers .Where(c => c.City == "Hove") .Select(c => new { c.Name, c.Phone }); Extension methods Object initializers Anonymous types
Working with Data
LINQ to SQL (System.Data.Linq) LINQ Pattern from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr (into itemName)? let itemName = selExpr where predExpr orderby (keyExpr (ascending | descending)?)* select selExpr group selExpr by keyExpr into itemName query-body Object Relational Mapping API Code Gen Tools
LINQ to SQL
LINQ to XML (System.Xml.Linq) LINQ Pattern from itemName in srcExpr join itemName in srcExpr on keyExpr equals keyExpr (into itemName)? let itemName = selExpr where predExpr orderby (keyExpr (ascending | descending)?)* select selExpr group selExpr by keyExpr into itemName query-body New XML API
LINQ to XML
ADO.NET Synchronisation Services Synchronisation Framework Online/Offline Applications 2-tier, N-tier architectures Client Database SQL Server Compact Edition Server Database Any OLEDB compliant store “Service” Based Approach Client DB Server DB
Agenda Timeline, Packaging Languages Working with Data .NET Framework v3.5 Client Development Windows, Office, Web Server Side Development
.NET Framework 3.5
Fx 3.5 - “Green Bits” and “Red Bits” v3.0 v2.0. 50727.42 v3.5 Redist v3.0.xx v3.5.xxxx.xx v2.0. 50727.xx v2.0. 50727.42 v2.0 RTM v2.0. 50727.312 v3.0 Vista RTM v3.5 Vista Redist
Multitargeting
Fx 3.5 (green bits) System.Data.Linq.dll System.Xml.Linq.dll System.Web.Extensions.dll System.DirectoryServices.AccountManagement.dll System.Management.Instrumentation.dll System.AddIn.dll, System.AddIn.Contract.dll System.Net.dll System.WorkflowServices.dll System.ServiceModel.Web.dll System.Core.dll
System.Core
Client Development
Windows Applications Windows Presentation Foundation Windows Forms Visual Designer Integrated into IDE Windows Forms ClickOnce For FireFox Consume ASP.NET Provider Services Better WPF Interoperablity UAC Manifests
Windows Development
Office 2007 Development 2003 & 2007 Support 2007 Customisations Document Level Application Level Office Ribbon Designer Outlook Form Region Designer Custom Action Panes ClickOnce Deployment? ( maybe? )
Office in “Orcas”
Web Applications Microsoft AJAX Libraries IDE Enhancements New HTML Editor Rich support for CSS Javascript IntelliSense
Web Development
Mobility in “Orcas” timeframe Mini Agenda Visual Studio for Devices .NET Compact Framework 3.5 Device Emulator v3 Windows Mobile 6
Mobile Development
Server Development
Workflow & Communication Foundation(s) WCF Send/Receive WorkflowServiceHost Communication Foundation HTTP without SOAP XML or JSON serialisation RSS + ATOM Support Partial Trust Support
WCF and WF
Summary Visual Studio “Orcas” Great for Windows Vista Development Great for Office 2007 Development Great for LINQ & .NET Framework v3.5 Great for Web Development Pretty Spiffy for .NET 2.0 projects too! Multitargeting (and no new CLR) Use the new C#3 and VB9 language features Codename “Orcas”
http://www.danielmoth.com/Blog http://www.mtaulty.com