visual studio 2010
DESCRIPTION
Børge Hansen presenterte Visual Stuio 2010 på høstens runde av MSDN & TechNet Live.TRANSCRIPT
Visual Studio 2010
Børge Hansen
http://borge3000.no
Network support and managed
services
Visual Studio 2010
New IDE Improvements
• Visual Studio Environment
– WPF-based Editor
– Better Multi-Monitor Support
• Navigation
– Quick Search
– Highlight references
• Project System
– 100% source code compatible
– Multi-Targeting
Code Focused Development
• Consume First, Declare Later
– Generate from usage
• Code insight
– Call hierarchy
– Inline call tree
• Layers
– Rich formatting of code
– Overlays of contextual information
• Document Map Margin
Web Development
• Enhanced JavaScript tooling
• HTML snippets
• New MVC and Dynamic Data tooling
• Integrated Web Deployment
Native C++ Development
• Great IDE Experience
– Scale smoothly
– Better navigation of large source bases
– Multi-targeting
– MFC Class Wizard
• Parallel computing support
• Light up on Windows 7
• Updated MFC Look-and-Feel
Architecture Explorer
• Understanding a system can prevent the butterfly effect.
• Architecture Explorer helps discover and understand how a system works.
• Visualize existing code assets and how they connect.
Office Development
• Tooling for the next version of Office
• ClickOnce Enhancements for Office
– Create solutions with multiple addins and documents
– Ability to deploy and update custom actions
– Improved document and template deployment
– Publish Office client customizations to SharePoint
SharePoint Development
• SharePoint tooling for common customizations
– Great experiences inside Visual Studio – coding->debug->deploy
– Extensible infrastructure allowing 3rd
parties and ISVs to create additional SharePoint tooling
WorkflowContent TypesList DefinitionsSite DefinitionsWeb parts (+ Visual Designer)
Application pagesMaster pagesServer controlsModulesFields
Debugger
• Richer platform support– 64-bit mixed-mode debugging
– Minidump debugging support for managed and mixed-mode
– WPF Visualizer
• Breakpoint improvements– Grouping and labeling
– Import/export
• Historical Debugger– Record & playback application execution
Team System: Business Alignment
• Project Management
– Project Server
– Client Integration
– Lightweight Project Planning Tools
• Requirements Traceability
• Reports
• Individual Dashboards
• Process Customization
– Wider variety of examples from Microsoft and community
Team System: Quality & Testing
• Visual structure and behavior in UML and DSL models
• Eliminate the “no repro” problem
• Gated checkin
• T-SQL Quality Tools
• Testing improvements
– Test prioritization
– Manual Testing
– Functional Testing
– Test Case Management
Test Impact Analysis
• Works with Code Coverage data in TFS.
• Compares code changes with coverage data.
• Recommends tests to run based on coverage impacted.
Gated Check-in
• Checks changes into a shelfset on server.
• Merges changes with main and runs build.
• If successful, commits changes to main.
DEMOVisual Studio IDE
Historical Debugging
Collection Plan
• Specifies the what and how of instrumentation
Instrumentation & Hidden Trace Points
• Inserted into user’s code and the .NET framework using ICorProfiling APIs
Logger & Log
• Data is recorded to a portable log file
User Experience
• Visualization of collected data integrated with the VS Debugger IDE
DEMOHistorical Debugger
The Parallel Computing Initiative
Letting the brightest developers solve business problems, not concurrencyproblems.
“Concurrency for the masses”
Concurrency Landscape
For Visual Studio 2010 and the .NET Framework 4…
System.Threading Parallel Extensions
Unified Cancellation Model
Parallel Extensions is a .NET Library that supports declarative and imperative data parallelism, imperative task parallelism, and a set of data structures that make coordination easier.
1. Parallel LINQ (PLINQ)
2. Task Parallel Library (TPL)
3. Coordination Data Structures (CDS)
Parallel Static Class
When program statements are independent…
…they can be parallelized
StatementA();
StatementB();
StatementC();
Parallel.Invoke(
() => StatementA(),
() => StatementB(),
() => StatementC() );
DEMOTask Parallel Library
Structured ParallelismParallel class
– static (overloaded) methods– helper methods to create/work with Tasks– encapsulates common patterns
PLINQ
Parallel LINQ (PLINQ) enables developers to easily leverage manycore with a minimal impact to existing LINQ programming model
var q = from p in peoplewhere p.Name == queryInfo.Name &&
p.State == queryInfo.State &&p.Year >= yearStart &&p.Year <= yearEnd
orderby p.Year ascendingselect p;
.AsParallel()
Coordination Data Structures
Thread-safe collectionsConcurrentStack<T>
ConcurrentQueue<T>
ConcurrentLinkedList<T>
ConcurrentDictionary<TKey,TValue>
ConcurrentBag<TKey,TValue>
BlockingCollection<T>
IProducerConsumerCollection<T>
Partitioner, Partitioner<T>, OrderablePartitioner<T>
InitializationThreadLocal<T>
Lazy<T>, LazyVariable<T>, LazyInitializer
SynchronizationCountdownEvent
Barrier
ManualResetEventSlim
SemaphoreSlim
SpinLock
SpinWait
CancellationCancellationToken
CancellationTokenSource
ICancelableOperation
• Visual Studio 2010 http://www.microsoft.com/visualstudio/
• Download Visual Studio 2010http://www.microsoft.com/visualstudio/nb-
no/products/2010/default.mspx
• Channel 9 10-4 Showshttp://channel9.msdn.com/shows/10-4/
• Parallell Computing with Visual Studio 2010http://www.msdn.com/concurrency
Additional Resources
Børge [email protected]://borge3000.no
+47 905 905 38