What`s new/next VS2013/TFS2013/NET451

Download Report

Transcript What`s new/next VS2013/TFS2013/NET451

Improved icons Line work to better define areas and regions Hover colors Scrollbar states Active/inactive instances Improved experience for high density displays

200 150 100 50 0 170 Time to switch configuration 100 40 First Time Switch (sec) Visual Studio 2012 0,5 Subsequent Switches (sec) Visual Studio 2013

source control models

centralized OR distributed

centralized scales to large code bases

distributed best in class offline experience

Check-in Check-out

Check-in Check-out • • • Strengths Scales to very large codebases Fine level permission control Allows usage monitoring • • Best for Large integrated codebases Control and auditability over source code down to the file level

Check-in Check-out • • • Strengths Scales to very large codebases Fine level permission control Allows usage monitoring • • Offline editing support Easy to edit files outside Visual Studio or Eclipse • • • Full offline experience Complete repository with portable history Simplified branching model • • Best for Large integrated codebases Control and auditability over source code down to the file level • • • • • Medium-sized integrated codebases A balance of fine-grained control with reduced friction Modular codebases Integrating with open source Highly distributed teams

we need to embrace DVCS

Git OR Mercurial

3 rd Party

Team Foundation Server / Service Project 1 Project 2 Local Repo

3 rd Party

Other Remote Git Repo

Git

(hosted by TFS)

decision at the project level

Runtime Libraries Languages Tools .NET

First, a look at .NET 4.5

Client & Device • Async – for UI responsiveness • Windows Store apps -- WinRT • Windows Phone apps • .NET CF 3.9

Web & Cloud Fundamentals GC • Async – for server scaling • ASP.NET MVC4 • ASP.NET Web API • ASP.NET Web Pages .NET 4.5

• WebSockets • SignalR • Windows Azure Cloud Services 4.5 Support • Windows Azure Web Sites • .NET Async (async + await) • Many new async APIs • WinRT interop • Multi-core JIT is installed on 100+ million machines!

• Performance improvements • Reboot and reliability improvements to setup • Support Windows RT • Background GC • LOH heap balancing • LOH fragmentation reduction • GC low latency mode • GC awareness of NUMA and >64 processors • >2GB arrays (or objects) Libraries • Portable libraries update • .NET Core Profile (Windows 8) • Extension methods for WinRT streams and async • NuGet • Immutable collections • Async for .NET 4 • HttpClient for Portable

.NET 4.5.1 in A Nutshell

64-bit Edit and Continue is finally here!

• • • • Number 9 all time requested feature on UserVoice!

Works exactly the same as for 32-bit applications Client (WPF, WinForms, etc.), Store and ASP.NET WAP projects are supported For WAP projects, need to enable Edit & Continue in Project Properties

Method Return Value Inspection

• • • Now available for .NET!

Access via Autos window or in the Immediate window ($ReturnValue) Can expand return value in the debugger

Async Debugging Improvements

• • • Common question: How did I get here?

Supported for Store Apps, Web apps, Desktop apps in W8.1

Enhancements to the Call Stack and Tasks window Visual Studio 2012

Windows Store Development Improvements

• • • • • • Convert System.IO.Stream to IRandomAccessStream • Allows much easier interop with existing .NET code Better exception support for WinRT APIs • System.Exception.Message

• System.Exception.StackTrace

WinRT type system enhancements • Nullable value types in WinRT structs 64-bit Edit and Continue support Managed Return Value Inspection support Async debugging enhancedments

Convert Stream to IRandomAccessStream

• From MSDN Forums… bitmap.SetSource(memoryStream); <- error CS1503: Argument 1: cannot convert from 'System.IO.Stream' to 'Windows.Storage.Streams.IRandomAccessStream‘ bitmap.SetSource(memoryStream.AsRandomAccessStream()); <-- .NET 4.5.1

In .NET 4.5.1: System.IO.WindowsRuntimeStreamExtensions.AsRandomAccessStream(Stream stream)

Rich exception interop support for WinRT APIs

• • In Windows 8, error propagation for WinRT APIs is through HRESULT • Important Exception information is lost unless a debugger is attached In Windows 8.1, additional error information is available via System.Exception properties: • • Message StackTrace Additional exception details from a C++ WinRT Component

WinRT Type System Enhancements

• Support Nullable value types in WinRT structs public short? au_ord; public int? royaltyper; <-- error WME1060: 'System.Nullable' is not a valid Windows Runtime field type.

<-- error WME1060: 'System.Nullable' is not a valid Windows Runtime field type.

EF/ADO.NET Connection Resiliency

• • • • Provide reliable connection to Azure DB Automatically retry/reconnect broken connection Provides great experience for connected devices It Just Works! No code or configuration changes other than installing .NET 4.5.1

Early Results from our Performance Lab

CAUTION:

On-demand Large Object Heap Compaction

• • • Refresher • • • Large objects (>85000 bytes) treated specially Very expensive to compact Collected with Gen 2 In .NET 4.5.1, you can now compact the Large Object Heap (LOH) to address heap fragmentation The LOH mode is part of GCSettings:

On-demand Large Object Heap Compaction

• Two ways to use GC LOH API: 1. Compact LOH right away 2. Compact LOH with the next full blocking GC // Next full blocking GC happens at some point, it will be a compacting GC that compacts the whole heap including LOH.

[email protected]

• • •

Multi-Core JIT Improvements

Minimize application startup time on multi core CPUs Now supported for ASP.NET web sites Enabled automatically for ASP.NET apps 15% improvement for cold startup Performance data from our test labs

Consistent Performance Before & After Servicing .NET

• • • • • Servicing .NET Framework for 1B+ PCs is a very BIG deal!

Today, servicing the .NET Framework can lead to degradation in app performance directly afterwards This is due to core .NET assemblies being JIT-compiled for a period of time after servicing In Windows 8.1, app performance remains consistent even after servicing the .NET Framework Results in much better user experience and better battery life on tablets

Our goal is to keep the existing values of the .NET Framework while allowing for more agility and innovation • • • • Existing Values Great discoverability (all in in place) Known quality, maturity and compatibility level A single license and support policy Centralized patching for security issues • • *PLUS* New Values Faster release cadence with a tighter customer feedback loop Less friction with using features across .NET platforms

System Composition TPL Dataflow Http Client .NET (“in box”) Async Immutable Collections

Web

Visual Studio 20[10,12]

https://nuget.org/api/v2/curated-feeds/dotnetframework/

What’s New in .NET Development

http://www.codefest.at/ http://blogs.msdn.com/b/visualstudio/ http://channel9.msdn.com/Shows/Visual-Studio-Toolbox http://blogs.msdn.com/b/somasegar/

Get the releases

Windows 8.1 Preview http://preview.windows.com

Visual Studio 2013 Preview http://go.microsoft.com/fwlink/?LinkId=306566

Share your feedback

http://VisualStudio.uservoice.com

http://connect.microsoft.com/VisualStudio

www.codefest.at