visual studio 2012 - kersoft.hu · • 2009 – 2010 sub team leader • 2010 – 2012 project...
TRANSCRIPT
For Internal Use Only | © evosoft GmbH
Visual Studio 2012
First experiences with Visual Studio 2012 Ultimate
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
For Internal Use Only | © evosoft GmbH
Agenda
• Overview• VS 2012 Ultimate
• Architectural Tools• IntelliTrace• Test Improvements
• Other Highlights• Upgrade
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
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
For Internal Use Only | © evosoft GmbH
• Windows 8 • Architectural overview
Motivations (cont.)
Overview
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
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
For Internal Use Only | © evosoft GmbH
Agenda
• Overview• VS 2012 Ultimate
• Architectural Tools• IntelliTrace• Test Improvements
• Other Highlights• Upgrade
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
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
For Internal Use Only | © evosoft GmbH
• Dependency Graph
Architectural Tools – Dependency Graph (cont.)
VS 2012 Ultimate
~ 150 projects Line thickness for dependency
For Internal Use Only | © evosoft GmbH
Architectural Tools – Architecture Explorer
VS 2012 Ultimate
Call-graph generated from the current selection below
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
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
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
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
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
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
For Internal Use Only | © evosoft GmbH
• 3rd party test-frameworks now supported• E.g. NUnit
Test Improvements (cont.)
VS 2012 Ultimate
For Internal Use Only | © evosoft GmbH
• 3rd party test-frameworks now supported• Analyze Code Coverage
Test Improvements (cont.)
VS 2012 Ultimate
For Internal Use Only | © evosoft GmbH
Agenda
• Overview• VS 2012 Ultimate
• Architectural Tools• IntelliTrace• Test Improvements
• Other Highlights• Upgrade
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
For Internal Use Only | © evosoft GmbH
• JavaScript IDE support
• CSS Color-Picker
IntelliSense (cont.)
Other Highlights
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
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
For Internal Use Only | © evosoft GmbH
Performance
Other Highlights
• Compared with Visual Studio 2010
For Internal Use Only | © evosoft GmbH
Develop for the Web
Other Highlights
On-the-fly preview for web applications
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
For Internal Use Only | © evosoft GmbH
• Debugging DirectX graphics• Designing and coding DirectX shaders (HLSL)
Develop Games and other 3D Applications
Other Highlights
For Internal Use Only | © evosoft GmbH
Agenda
• Overview• VS 2012 Ultimate
• Architecture Tools• IntelliTrace• Test Improvements
• Other Highlights• Upgrade
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
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
For Internal Use Only | © evosoft GmbH
Questions
Team Foundation Server 2012
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