This is the slide deck for my "A Sneak Peek at Visual Studio 2010 and .NET Framework 4.0" presentation I gave at the CapArea.NET user group on December 15th, 2009 where we had upwards of 70 attendees.
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
1. A Sneak Peek at Visual Studio 2010 & .NET Framework 4.0Antonio Chagoury December 2009 1
2. About Me Principal & Software Architect of Inspector IT, Inc. Microsoft MVP – Visual Basic DotNetNuke Core Team Member and Project Lead, Blog and Install Utility Co-Founder and President of the Capital DotNetNuke User Group (CDUG) Uses DotNetNuke as the Development Platform for large Web 2.0 and Enterprise Implementations I do not like PowerPoint… but… 2
3. Too Much Stuff to Cover in 1.5 hours Breakpoint Labeling, Breakpoint Searching, Breakpoint Import/Export, Dynamic Data Tooling, WPF Tree Visualizer, Call Hierarchy, Improved WPF Tooling, Historical Debugging, Mini-Dump Debugging, Quick Search, Better Multi-Monitor Support, Highlight References, Parallel Stacks Window, Parallel Tasks Window, Document Map Margin, Generate From Usage, Concurrency Profiler, Inline Call Tree, Extensible Test runner, MVC Tooling, Web Deploy, JQuery Intellisense, SharePoint Tooling, HTML Snippets, Web.config Transformation, Click-Once Enhancements for Microsoft Office, IDE Rewritten in WPF, New Gadgets Subsystem, Zoom, Box Selection, Call Hierarchy, Navigate To, Highlighting References, Intellisense Suggestion Mode, Generate From Usage… 3
4. Too Much Stuff to Cover in 1.5 Hours – Cont’d …and that was a short-list of new IDE features ALONE! Focus of this presentation is on: Visual Studio 2010: A close look at the new IDE .NET 4.0, Visual Basic 10, C# ASP.NET Web Development Web Forms Review MVC 2.0 features CAVEAT: I’ll cover the stuff I liked the most We’re going to move fast, so fasten your seatbelts! 4
5. .NET Framework Timeline & Roadmap 2002: Visual Studio .NET 2002 (.NET 1.0) 2003: Visual Studio .NET 2003 (.NET 1.1) 2005: Visual Studio 2005 (.NET 2.0) 2007: Visual Studio 2008 (.NET 2.0/3.0/3.5) 2010: Visual Studio 2010 (.NET 2.0/3.0/3.5/4.0) 5
6. What’s New in General Improvements Debugging Parallelism Web Extensibility UI rewritten in WPF Visual Studio is no longer just a CodeEditor, it is also a Platform! 6
7. as an Editor Editor improvements focus primarily on: Writing code Understanding code Navigating and debugging code Publishing code Editor improvements focus on Productivity! 7
8. as an Editor – Cont’d General improvements Zoom Docking Windows and Multi-Monitor Support Call Hierarchy Highlighting References “Generate From” Usage “Navigate To” Usage Intellisense Consume-First Mode Multi-Targeting 8
9. as an Editor – Cont’d Zoom CTRL + Mouse Wheel Enhances the ability to zoom the code editor canvas Very useful for pair programming, peer code reviews, training,presentations, etc. 9
10. as an Editor – Cont’d Docking Windows and Multi-Monitor Support New docking visuals Windows can be docked anywhere Better use with multiple monitors 10
11. as an Editor – Cont’d Call Hierarchy Keyboard shortcut: CTRL + K, T Available in C# Used to see calls to and from a method Great way to see calls at design time 11
12. as an Editor – Cont’d Highlighting References Automatic highlighting of a symbol Can be used with declarations and references, and many other symbols 12
13. as an Editor – Cont’d “Generate From” Used to automatically create stub code Enables you to use classes and members before defining them Great for refactoring code If you are familiar with ReSharper then you’ll like this 13
14. as an Editor – Cont’d “Navigate To” Keyboard shortcut: CTRL + , Provides search-as-you-type support for files, types, and members Enables quick searching based on case usage 14
15. as an Editor – Cont’d Intellisense Consume First Mode Keyboard shortcut: CTRL + ALT + SPACE Used when classes and members are used before they are defined Helps to reduce situations where IntelliSense inserts unintended text into the editor 15
16. as an Editor – Cont’d Multi-Targeting VS 2008 was the first release of Visual Studio that included multi-targeting support for .NET .NET 2.0, .NET 3.0, and .NET 3.5 all ran on top of the same version of the CLR Worked, but wasn’t perfect VS 2010 now ships with “reference assemblies” for each version of .NET. A “reference assembly” contains only the metadata of a particular framework assembly – much smaller in size. Ensures that VS 2010 can always provide 100% accurate intellisense when targeting a particular version of the .NET framework VS 2010 debugger, profiler and compilers are able to target multiple versions of the CLR. 16
17. as an Editor – Cont’d Breakpoints Can add labels to breakpoints All breakpoints are now searchable Import / Export now available Floating Data Tips DataTips that float in the source window Floating DataTips remain visible until the debugging session ends New Threading Window Provides filtering, call-stack searching, expansion, and grouping New columns added: Affinity masks, Process names, Managed IDs 17
21. What’s New in .NET Framework 4.0 C# and VB Language Parity Microsoft combined C# and VB teams into one group with the goal of merging the two languages features set IDE still behaves differently and function vary from language to language 21
22. What’s New in .NET Framework 4.0 Visual Basic 10 Auto-Implemented PropertiesShortened syntax that enables you to quickly specify a property of a class without having to write code Collection InitializersShortened syntax that enables you to create a collection and populate it with an initial set of values. (This was in C#) Implicit Line ContinuationEnables you to continue a statement on the next consecutive line without using the underscore character Improved Lambda SupportAction Queries and Multiline Lambda are now supported 22
23. What’s New in .NET Framework 4.0 C# Optional and Named Parameters Named arguments enable you to specify an argument for a particular parameter by associating the argument with the parameter's name rather than with the parameter's position in the parameter list. Optional arguments enable you to omit arguments for some parameters. Both techniques can be used with methods, indexers, constructors, and delegates. Dynamic Type Operations that contain expressions of type dynamic are not resolved or type checked by the compiler. The compiler packages together information about the operation, and that information is later used to evaluate the operation at run time 23
24. DEMO What’s new in .NET Framework 4.0: Languages Changes (C#, VB) 24
25. What’s New in .NET Framework 4.0: ASP.NET Web Forms (Yep, its still here!) New full-featured project templates Leaner Web.Config More control over view state Access to meta tags ASP.NET routing Auto-Start web applications Compress session state with Gzip Extensible output caching Permanent redirects (301) 25
26. What’s New in .NET Framework 4.0: ASP.NET Web Forms – CONTROLS Control over HTML mark-up rendered by Templated controls New charting control Semantic menu generation RadioButtonList and CheckBoxListenhancements Persist selected rows in data controls Control over generated Client-Side IDs Filtering support for data source controls ListView control enhancements 26
27. What’s New in .NET Framework 4.0: ASP.NET Web Forms – Cont’d “Microsoft’s major underlying theme with the Web Forms enhancements is the tremendous focus it placed on semantic and standard compliant HTML markup generation of controls” 27
29. What’s New in .NET Framework 4.0: ASP.NET MVC 2 Templated Helpers Display Enhancements Support for DataAnnotations Data Entry Enhancements Areas Client-Side validation with jQuery Async Controller Actions 29
30. What’s NOT Covered, but Deserve Mentioning Silverlight Microsoft Entity Framework Azure Microsoft SharePoint Microsoft Office Unit Testing Toolset 30
31. Resources Download Visual Studio 2010 Beta 2 Visual Studio 2010 on Channel 9 Visual Studio 2010 Quick-Hit Videos ASP.NET 4.0 Quick-Hit Videos Visual Studio 2010 and .NET Framework 4 Training Kit Extending Visual Studio 2010 My Blog My Company Website Follow me on Twitter! 31
Editor's Notes
Auto-implemented properties enable you to quickly specify a property of a class without having to write code to Get and Set the property. When you write code for an auto-implemented property, the Visual Basic compiler automatically creates a private field to store the property variable in addition to creating the associated Get and Set procedures.PublicProperty Owner AsString = "DefaultName"=================================================================Collection InitializersPublicProperty Items AsNew List(OfString) From {"M", "T", "W"} =================================================================
Control over generated Client-Side IDs: -- Inherit (Default) -- AutoId -- Predictable -- StaticViewState Control: -- Enabled -- Disabled -- InheritPersist selected rows in data controls: -- Now remembers selections even after navigating to the next/previous pages of data. (Property: EnablePersistedSelection)