Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio “Orcas” &.NET Framework v3.5 Mike Taulty, Daniel Moth Developer & Platform Group Microsoft Ltd

Similar presentations


Presentation on theme: "Visual Studio “Orcas” &.NET Framework v3.5 Mike Taulty, Daniel Moth Developer & Platform Group Microsoft Ltd"— Presentation transcript:

1 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.comhttp://www.mtaulty.com, http://www.danielmoth.com/Bloghttp://www.danielmoth.com/Blog

2 .NET Through the Ages

3 Agenda Scene Setting LINQ (to objects) LINQ to SQL LINQ to XML IDE Office dev Fx 3.5

4 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

5 LINQ to Objects

6 Language Innovations var contacts = from c in customers where c.City == "Hove" select new { c.Name, c.Phone }; var contacts = customers.Where(c => c.City == "Hove").Select(c => new { c.Name, c.Phone }); Extension methods Lambda expressions Query expressions Object initializers Anonymous types Local variable type inference

7 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 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

8 LINQ to SQL

9 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 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 LINQ to XML (System.Xml.Linq)

10 LINQ to XML

11

12 Where we’ve Been, Where we’re Going Scene Setting LINQ (to objects) LINQ to SQL LINQ to XML IDE Office dev Fx 3.5

13 Tour of the IDE Not as big as VS.NET 2003 -> VS2005 Designed to run great on Windows Vista Comprehensive OOB experience Today –VS2005 + SP1 + SP1Update + VSTO2005SE + WF Extensions + WPF/WCF Extensions etc With “Orcas” you get it all plus more Multitargeting Aesthetic and usability improvements

14 VS IDE Tour

15 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? )

16 Office in “Orcas”

17 “Green Bits” and “Red Bits” v2.0 RTM Vista RTM v3.5 Vista Redist v3.5 Redist

18 Where are the Fx 3.5 Assemblies?

19 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.WorkflowServices.dll System.ServiceModel.Web.dll System.AddIn.dll, System.AddIn.Contract.dll System.Net.dll System.Core.dll WF, WCF Peer-to-Peer

20 AD and WMI System.DirectoryServices.AccountManagement.dll A managed API for users, groups, etc. Based on SDS/ADSI under the hood Works with ADAM as well as AD System.Management.Instrumentation.dll WMI.NET Provider Extension 2.0 Improved scalability for large collections of WMI entities

21 Workflow & Communication Foundation(s) Workflow WCF Send/Receive WorkflowServiceHost Rules Communication Foundation HTTP without SOAP –XML or JSON serialisation RSS + ATOM Support Partial Trust Support

22 WCF and WF

23 System.AddIn, System.AddIn.Contract Host provides service to addin or vice versa Discovery is attribute-based with smart caching Reflection-only loading from pre-specified directory find and activate add-ins in 3 lines of code advanced lifetime management of add-ins AddIns can be activated in separate AppDomain or process sandboxed and isolated Previous versions can continue to work with new hosts!

24 AddIn Pipeline

25 System.AddIn

26 Peer To Peer Technology Peer Name Resolution Protocol Name registration Name resolution No DNS Server Involved Peer Collaboration API Register applications Discover Peers Invite them to apps More to come? ( Both - supported from Windows XP Service Pack 1 onwards )

27 Peer to Peer

28 System.Core.dll 17 namespaces! 11 with less than 6 types Remember the red bits vs green bits? Almost all of System.Core.dll could have been in mscorlib.dll No single focus Threading, Security, TimeZone, Diagnostics, Collections, WMI, LINQ, Pipes

29 System.Core

30 System.Core.dll (part 1 of 7) System.Diagnostics. EventSchemaTraceListener –High Performance, Logs XML to disk. –Disk logging options e.g. circular logging across files Eventing.EventProviderTraceListener –Logs to ETW –Thread-safe –Most performant Eventing.Reader.* PerfomanceData.* –Vista-only: wraps Perf* APIs in advapi32.dll

31 System.Core.dll (part 2 of 7) System.Security.Cryptography Suite B support: AES –FIPS-certified implementations of SHA and AES Elliptic Curve Diffie Hellman and Elliptic Curve Digital Signature Algorithm –Built on CNG in Vista

32 System.Core.dll (part 3 of 7) System.Security.Cryptography Hash Algorithms

33 System.Core.dll (part 4 of 7) System.Security.Cryptography Symmetric Algorithms Asymmetric Algorithms

34 System.Core.dll (part 5 of 7) System.Collections.Generic.HashSet Unordered collection of unique items Union, intersection and symmetric difference System.TimeZoneInfo Replaces System.TimeZone Convert DateTime from one time TZ to another Create your own TimeZone On Vista, takes advantage of Dynamic Time Zone

35 System.Core.dll (part 6 of 7) System.Threading.ReaderWriterLockSlim Perf-critical, scalable ReadWriterLock Deadlock-free upgradable read support System.IO.Pipes.* Wrapper for Win32 API Named and anonymous Synchronous and async

36 System.Core.dll (part 7 of 7) LINQ System.Linq.* System.Runtime.CompilerServices.* we saw earlier today

37 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

38 http://www.danielmoth.com/Blog http://www.mtaulty.com

39 © 2007 Microsoft Ltd. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Visual Studio “Orcas” &.NET Framework v3.5 Mike Taulty, Daniel Moth Developer & Platform Group Microsoft Ltd"

Similar presentations


Ads by Google