visual studio 2012 - kersoft.hu · • 2009 – 2010 sub team leader • 2010 – 2012 project...

35
For Internal Use Only | © evosoft GmbH Visual Studio 2012 First experiences with Visual Studio 2012 Ultimate

Upload: others

Post on 28-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Visual Studio 2012

First experiences with Visual Studio 2012 Ultimate

Page 2: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• CV• 2000 – 2005 BME

• Graduated from Technical University Budapest (Informatics Engineer)

• Diploma thesis in Karlsruhe (DAAD scholarship)

• 2005 – Today evosoft Hungary Kft.• 2005 – 2007 Software developer in Germany• 2008 – Software architect (later on Senior software-architect)• 2009 – 2010 Sub team leader• 2010 – 2012 Project leader (later two simultaneous projects)• 2011 – Expert in TFS (Consulting, Maintaining- , Supporting projects,

e.g. migration from other ALM tools to TFS)

• Just married

Personal

Overview

Page 3: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• VS 2012 Ultimate

• Architectural Tools• IntelliTrace• Test Improvements

• Other Highlights• Upgrade

Page 4: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Transforming your ideas into reality• Modern consumer and business applications• Simplified and productive development environment• Collaborative and agile software teams

• Trends

Motivations

Overview

Page 5: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Windows 8• „Windows Runtime, or WinRT, is a cross-platform application

architecture used on the Windows 8 operating system.“(Wikipedia)

Motivations (cont.)

Overview

Page 6: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Windows 8 • Architectural overview

Motivations (cont.)

Overview

Page 7: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Windows XP• Visual Studio 2012 can’t be installed but „target platform” can be

Windows XP• Windows XP support is running out in middle 2014

• Windows 7• For only normal apps (Windows Store projects are not available)

• Windows 8 • Windows Store app development is supported on Windows 8 • Build and remote debugging supported in Windows 8 and Windows

Server 2012.

• Windows Server 2008 R2 / Windows Server 2012

Supported Operating Systems

Overview

Page 8: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Normal Desktop App• Doesn’t directly run on WinRT

• 32-bit Platform (WOW64)• Like in Visual Studio 2010• Move to 64-bit would cost enormous development efforts

• MSBuild • Runs out-proc to reduce memory footprint in devenv.exe• And in multiple instances based on CPU-cores

• Front-end• WPF• Lots of asynchronous behaviors, e.g. loading projects of a solution

Visual Studio 2012 Key Design Decisions

Overview

Page 9: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• VS 2012 Ultimate

• Architectural Tools• IntelliTrace• Test Improvements

• Other Highlights• Upgrade

Page 10: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Supported projects• Visual C# .NET and Visual Basic .NET projects, including Windows

Store apps, and assembly files (DLL or EXE).• Visual C++ projects, including Windows Store apps, that have C or

C++ code (managed or native), header files (.h or #include), and binary files.

• Directed Graph Markup Language (DGML)• XML-based format• DGQL (Directed Graph Query Language) for Architecture Explorer

• Visual Studio 2010• Resource/Performance issues occured in case of large solutions

Architectural Tools – Dependency Graph

VS 2012 Ultimate

Page 11: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Can be created for• Visual Studio Solutions• Project files (.csproj, .vbproj, .vcxproj)• .NET and native C/C++ assemblies

• Useful• Understand relationships among assemblies

• Instead of debugging all day and night• Or reading call stacks

• In case of code reviews • Based on the pending changes DGML graphs can be generated• Vertical features can

Architectural Tools – Dependency Graph (cont.)

VS 2012 Ultimate

Page 12: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Dependency Graph

Architectural Tools – Dependency Graph (cont.)

VS 2012 Ultimate

~ 150 projects Line thickness for dependency

Page 13: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Architectural Tools – Architecture Explorer

VS 2012 Ultimate

Call-graph generated from the current selection below

Page 14: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• VS 2010 resource problems• But now:

• Cyclometic Complexity• Depth of Inheritance• Class Coupling• LOC• „Maintainability Index” as summary from the above metrics

• Results can be exported to Excel

Architectural Tools – Code Metrics

VS 2012 Ultimate

Page 15: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Layer diagrams• Not only visualizing architectural tiers• But setting up rules for very large solutions with hundreds of

projects (can be executed as MSBuild target at the end)

• Huge Benefits• Layers help to understand basic design decisions• Newbies can’t overwrite design aspects• Build errors if architectural rules are broken

Architectural Tools (cont.)

VS 2012 Ultimate

Page 16: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Trace Engine• „Modern” environment for debugging• Supports all managed code-related technology• It always runs parallel with normal debug session

• Collected data• Debugger events (Start, Stop, )• .NET Exceptions• .NET Framework Events• Function calls

• History• Not only a snapshot, but really the whole lifecycle of a program

execution

IntelliTrace

VS 2012 Ultimate

Page 17: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• In production environments• Install IntelliTraceCollection.cab file that ships with Visual Studio

2012• Configure for data-collection

• via PowerShell for ASP.NET• by IntellitraceSC.exe for managed apps

• Results to iTrace files• Microsoft Test Framework also uses the same technique

• iTrace files• For debugging based on the collected data on dev-machines

IntelliTrace

VS 2012 Ultimate

Page 18: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Up to 2010• Only MSTest was supported• Test Explorer and test settings files could only list/visualize these

kinds of tests• MSTest.exe could only execute these tests

• Problems• Productive projects not always use MSTest

• Preferred: NUnit, xUnit.net and QUnit

• Every framework has its own thread-concept• In VS 2010 we tried to implement own TestAdapter for NUnit• .NET 4.0. framework would have been targeted

Test Improvements

VS 2012 Ultimate

Page 19: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• 3rd party test-frameworks now supported• All necessary interfaces now published• Popular framework downloadable from Visual Studio Gallery

Test Improvements (cont.)

VS 2012 Ultimate

Page 20: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• 3rd party test-frameworks now supported• E.g. NUnit

Test Improvements (cont.)

VS 2012 Ultimate

Page 21: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• 3rd party test-frameworks now supported• Analyze Code Coverage

Test Improvements (cont.)

VS 2012 Ultimate

Page 22: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• VS 2012 Ultimate

• Architectural Tools• IntelliTrace• Test Improvements

• Other Highlights• Upgrade

Page 23: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• JavaScript IDE support• Now ECMAScript 5 Compliant• Auto-reducing statement completion• Tooltip appears with function signature & documentation• Custom XML documentation

• Overloading• Object documentation

• DOM IntelliSense (from IE10)• JavaScript IntelliSense References• IntelliSense automatically Rebuilds• Improved Scope Accuracy

• Note: Import sequence of JS libaries are considered

IntelliSense

Other Highlights

Page 24: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• JavaScript IDE support

• CSS Color-Picker

IntelliSense (cont.)

Other Highlights

Page 25: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Updated Look&Feel• Ergonomy• Corporate Design in all Microsoft products

• Back and Forward buttons• Now really in Focus

New IDE productivity features

Other Highlights

Page 26: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Search everywhere• Solution Explorer • Add Reference • Integrated Quick Find • New Test Explorer • Error List • Parallel Watch • Toolbox • Team Foundation Server (TFS) Work Items • Visual Studio Commands

• File previews• Navigating through project items in Solution Explorer• Reading changesets / shelvesets

New IDE productivity features (cont.)

Other Highlights

Page 27: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Performance

Other Highlights

• Compared with Visual Studio 2010

Page 28: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Develop for the Web

Other Highlights

On-the-fly preview for web applications

Page 29: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• SDK, Emulator and installation guide available • On DevCenter (dev.windowsphone.com)• For $99.00 (announced on 30th October)

Develop for Windows Phone 8

Other Highlights

Page 30: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Debugging DirectX graphics• Designing and coding DirectX shaders (HLSL)

Develop Games and other 3D Applications

Other Highlights

Page 31: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Agenda

• Overview• VS 2012 Ultimate

• Architecture Tools• IntelliTrace• Test Improvements

• Other Highlights• Upgrade

Page 32: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Hybrid application• MVC 3• Silverlight• ASP.NET with DomainService• WCF DataService• Entity Framework (SQL Server 2008)

• Upgrade from VS 2010 to VS 2012• Without any problem

ASP.NET Web Application

Upgrade

Page 33: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

• Large product with many project files• Solution file is generated as a separate build step• VS 2008 C++ Compiler for native components• Managed .NET C# and C++ assemblies

• Upgrade from VS 2010 to VS 2012• Only for pilot purpose• Almost all assemblies could be upgraded• Some minor changes were only necessary

CAD software for industrial automation

Upgrade

Page 34: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Questions

Team Foundation Server 2012

Page 35: Visual Studio 2012 - kersoft.hu · • 2009 – 2010 Sub team leader • 2010 – 2012 Project leader (later two simultaneous projects) • 2011 – Expert in TFS (Consulting, Maintaining-

For Internal Use Only | © evosoft GmbH

Thank you for your attention!

Team Foundation Server 2012

József VadkertiExpertSenior Architect

evosoft Hungary Kft.Kaposvár u. 14-18.H-1117 Budapest

Tel: +36 1 381-6866

[email protected]