91

What’s new in Visual Studio, Team Foundation Server and .NET 4.5.1

  • Upload
    duaa

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

What’s new in Visual Studio, Team Foundation Server and .NET 4.5.1. Andreas Pollak (@ apollak ) Product Marketing Manager, Microsoft Austria 14:45 – 16:15. Agenda. What‘s new in the Visual Studio IDE What‘s new in Team Foundation Server / ALM What‘s new in .NET 4.5.1. 88. - PowerPoint PPT Presentation

Citation preview

Page 1: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 2: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Andreas Pollak (@apollak)Product Marketing Manager, Microsoft Austria14:45 – 16:15

What’s new in Visual Studio, Team Foundation Server and .NET 4.5.1

Page 3: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

AgendaWhat‘s new in the Visual Studio IDEWhat‘s new in Team Foundation Server / ALMWhat‘s new in .NET 4.5.1

Page 4: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

What‘s new in the Visual Studio IDEThe Connected IDEThemes and Visual DesignEditor ProductivityPerformance Improvements

88

Page 5: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Connected IDE Demo

Page 6: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

The Connected IDESign into the IDE with your Microsoft AccountMove seamlessly between your machinesSynchronize settings across your devicesGet up and running faster

Page 7: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

NotificationsKeep Visual Studio up-to-dateEasily determine what’s importantAddress laterOne common location

Page 8: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Notifications Demo

Page 9: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Themes and Visual Design

Page 10: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Choice

Page 11: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Choice

Blue

Light

Dark

Page 12: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Visual DesignImproved iconsLine work to better define areas and regionsHover colors Scrollbar statesActive/inactive instancesImproved experience for high density displays

Page 13: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Quick Look at Theme Updates

Page 14: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

High-DPI + VS

Page 15: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Editor Productivity Demos

Page 16: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Editor ProductivityAuto Brace CompletionMove Line Up and DownEnhanced ScrollbarNew Navigate To experiencePeekCodeLens

Page 17: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Performance

Page 18: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Performance ImprovementsSolution LoadIDE StartupResponsiveness

Page 19: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

C++ Configuration Switching

Page 20: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

C++ Configuration Switching

First Time Switch (sec) Subsequent Switches (sec)0

50

100

150

200

170

100

40

0.5

Time to switch configuration

Visual Studio 2012 Visual Studio 2013

325% Improvement

19,900% Improvement

Page 21: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Symbol ImprovementsCancelable symbol loadingMissed symbol files are recordedSmarter cachingEarlier detection of bad symbol pathsAbility to trust source server

Page 22: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Solution Load Performance

Page 23: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

RecapThe Connected IDEThemes and Visual DesignEditor ProductivityPerformance Improvements

Page 24: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

What‘s new in TFS / ALMAgile Planning Tools & New Web InterfaceCommenting Code HistoryTeam RoomsGit Support in TFS/Service & Visual Studio

55

Page 25: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Agile Planning Tools & New Web InterfaceImproved Visual DesignImproved usability (copy paste images)New WorkItem „Features“Board Improvements

Page 26: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Commenting Code History

Commenting on Codehistory (TFS & Git)Rich browsing & filtering

Page 27: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Team RoomPersistent documentation of events and conversationsRich meta informationManaging events (TFS & Git)

Page 28: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Git Support in TFS/Service & Visual Studio

Page 29: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

source control models

Page 30: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

centralized OR distributed

Page 31: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 32: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

centralized - scales to large code bases

Page 33: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

distributed - best in class offline experience

Page 34: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Modern source-control approaches

Check-inCheck-out

Page 35: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Strengths Best for

Modern source-control approaches

Check-inCheck-out

EditCommit

• Scales to very large codebases

• Fine level permission control• Allows usage monitoring

• Large integrated codebases• Control and auditability over

source code down to the file level

Page 36: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Centralized Version Control

Strengths Best for

Modern source-control approaches

Check-inCheck-out

EditCommit

DistributedVersion Control

• Scales to very large codebases

• Fine level permission control• Allows usage monitoring

• Large integrated codebases• Control and auditability over

source code down to the file level

• Offline editing support• Easy to edit files outside

Visual Studio or Eclipse

• Medium-sized integrated codebases

• A balance of fine-grained control with reduced friction

• Full offline experience• Complete repository with

portable history• Simplified branching model

• Modular codebases• Integrating with open source• Highly distributed teams

Page 37: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Modern apps and OSS workflows App Architecture: suite of loosely coupled systems Team: Written by small/discrete and distributed teams Platforms: Multiple platforms and development environments

(Windows, iOS, Android) Open source components within proprietary solutions

Changes

Page 38: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

we need to embrace DVCS

Page 39: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Git OR Mercurial

Page 40: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Git took off The Leading DVCS ToolDeployment Protocol

Page 41: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 42: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Principles100% true Git … join the community

Page 43: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 44: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 45: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Fully integratedGit support

Team Foundation Server / ServiceProject 2

Issues

Project

MgmtBuild

Git SCC Provider

Project 1

Issues

Project

MgmtBuild

Git

3rd Party XCodeEclipseShell

3rd Party Eclipse

Shell… TFVC

……

TFS SCC Provider

Team Explorer

TFVC Object Model

Local Repo

LibGit2 / LibGit2Sharp

Other Remote

Git Repo

Git-TF

Page 46: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Principles100% true Git … join the communityBest distributed VC experienceEnterprise class feature support

Page 47: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Ease of installationSupport and servicingHigh availabilityScaleEase of managementIntegrated AuthenticationEnhanced permissionsALM IntegrationLocalization

Enterprise

Page 48: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Team Foundation Version Control

(TFVC)

Git(hosted by TFS)

Page 49: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

decision at the project level

Page 50: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Git Demo

Page 51: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

In source code workflowsIntegrating the leading DVCS solution into the leading ALM suiteUse centralized or distributed version control and always get the full integrated ALM capabilities of TFS

Choice

Page 52: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

In development processPick Agile, CMMI, or Scrum processes or create your ownTooling to support best of breed practices regardless of your development methodology

Choice

Page 53: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

In platformsTarget the platform of your choice from the development environment of your choice

Choice

Page 54: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Developer Productivity Application Performance Continuous Innovation

What‘s new in .NET Development

Page 55: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

.NET (A *Very* Simplified View)

Runtime

Libraries

Languages

Tools .NET

Page 56: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

•Async – for server scaling•ASP.NET MVC4•ASP.NET Web API•ASP.NET Web Pages•Entity Framework Code-First•WebSockets•SignalR•Windows Azure Cloud Services 4.5 Support•Windows Azure Web Sites

Fundamentals

•.NET Async (async + await)•Many new async APIs•WinRT interop•Multi-core JIT•MPGO – NGEN hot/cold splitting•Performance improvements•Reboot and reliability improvements to setup•Support Windows RT

GC•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 is installed on 100+ million machines!

Page 57: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

.NET 4.5.1 in A Nutshell

Developer Productivity

Application Performance

Continuous Innovation

Page 58: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Developer Productivity

Page 59: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

In 2005, we introduced a *little* feature called Edit & Continue, but there was something missing….

Page 60: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 61: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Sorry to keep you waiting for 8 years…

Page 62: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 63: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Wait, there is more…

Page 64: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1
Page 65: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 66: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 67: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 68: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Convert Stream to IRandomAccessStream• From MSDN Forums…

// EXAMPLE: Get image from URL

var client = new HttpClient();

var stream = await client.GetStreamAsync(imgUrl);

var memoryStream = new MemoryStream();

await stream.CopyToAsync(memoryStream);

var bitmap = new BitmapImage();

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)

Page 69: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 70: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

WinRT Type System Enhancements• Support Nullable value types in WinRT structs

// Define the "titleAuthor" table of the Microsoft "pubs" database.

public struct titleAuthor

{

// Author ID; format ###-##-####

public string au_id;

// Title ID; format AA####

public string title_id;

// Author ORD is nullable.

public short? au_ord;

// Royalty Percent is nullable.

public int? royaltyper;

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

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

Page 71: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 72: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Application Performance

Page 73: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

ASP.NET App SuspensionEnables low latency, high density web sites for on-prem/private cloud

Shipping as part of IIS 8.5 in Windows Server 2012 R2 Preview

Provisioned through the Idle Worker Process Page-out capability in IIS

Early Results from our Performance Lab

Page 74: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

ASP.NET App SuspensionIn IIS Settings, set Idle Time-out Action to Suspended

Page 75: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

On-demand Large Object Heap CompactionLet me start off by saying that the .NET GC is one well-tuned machine!In general, you should never have to use GC.Collect()CAUTION: With great power comes great responsibility!

Page 76: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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:public static class GCSettings {

public static GCLOHCompactionMode LOHCompactionMode { get; set; }

}

Page 77: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce;

GC.Collect();

// Next full blocking GC happens at some point, it will be a compacting GC that compacts the whole heap including LOH.

GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce;

Page 78: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

On-demand Large Object Heap CompactionI’m going to wrap up by saying…

If you really believe you have a GC heap fragmentation issue (a.k.a. Gynormous GC Fragmentos syndrome), please email:• [email protected] (our resident GC ninja)

Page 79: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Multi-Core JIT Improvements

Performance data from our test labs

• 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

Page 80: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

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

Page 81: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Continuous Innovation

Page 82: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

.NET Framework UpdatesOur goal is to keep the existing values of the .NET Framework while allowing for more agility and innovationExisting 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

Page 83: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

NuGet ReleasesDuring .NET 4.5 we released two components via NuGet:• MEF (Microsoft.Composition) for web and Windows Store apps• TPL Dataflow (Microsoft.Tpl.Dataflow)• These (and new packages) are treated as any other .NET 4.5

component, i.e. are fully supported

.NET (“in box”)

SystemCompositio

n

TPL Dataflo

wHttp

Client AsyncImmutabl

e Collection

s

Page 84: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Announcing: .NET Framework NuGet FeedOne-stop shopping for all of your .NET Framework NuGet packages released by Microsoft• In Visual Studio

20[10,12,13]• On the Web

Page 85: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

.NET Framework NuGet Feed• Already enabled in VS 2013 Preview

• In VS 20[10,12]:• Tools.Options.Package Manager• Name: .NET Framework Packages• Source: https://nuget.org/api/v2/curated-feeds/dotnetframework

/

Visual Studio 20[10,12]

Page 86: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

What’s New in .NET Development

• 64-bit Edit and Continue

• Method Return Value Inspection

• Async Debugging Enhancements

• Windows Store development improvements

• EF/ADO.NET Connection Resiliency

Developer Productivity

Application Performance

Continuous Innovation

.NET 4.5.1 delivers many new innovations while maintaining a high compatibility bar

• ASP.NET application suspension

• Multi-core JIT improvements

• On-demand large-object heap compaction

• Consistent performance before and after servicing the .NET Framework

• .NET Framework updates

• NuGet releases• Curated .NET

Framework NuGet packages

Page 87: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

You have seenWhat‘s new in the Visual Studio IDEWhat‘s new in ALM CapabilitiesWhat‘s new in .NET

Page 88: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

For More InformationCodefest.athttp://www.codefest.at/Visual Studio Bloghttp://blogs.msdn.com/b/visualstudio/Visual Studio Toolbox on Channel 9http://channel9.msdn.com/Shows/Visual-Studio-ToolboxSomasegar’s bloghttp://blogs.msdn.com/b/somasegar/

Page 89: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Share your feedback

UserVoicehttp://VisualStudio.uservoice.com

Connecthttp://connect.microsoft.com/VisualStudio

Send a Smile

Get the releases

Windows 8.1 Previewhttp://preview.windows.com

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

Get Involved Today

Page 90: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

Visual Studio and ALM Resources

Scan this QR code to visit our ALM resources on www.codefest.at !

Page 91: What’s new in  Visual Studio, Team Foundation Server and .NET 4.5.1

© 2013 Microsoft Corporation. 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.