Visual Studio 2010
-
Upload
microsoft-norge-as -
Category
Technology
-
view
1.281 -
download
2
description
Transcript of Visual Studio 2010
![Page 1: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/1.jpg)
Visual Studio 2010
Børge Hansen
http://borge3000.no
![Page 2: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/2.jpg)
Network support and managed
services
Visual Studio 2010
![Page 3: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/3.jpg)
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
![Page 4: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/4.jpg)
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
![Page 5: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/5.jpg)
Web Development
• Enhanced JavaScript tooling
• HTML snippets
• New MVC and Dynamic Data tooling
• Integrated Web Deployment
![Page 6: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/6.jpg)
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
![Page 7: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/7.jpg)
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.
![Page 8: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/8.jpg)
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
![Page 9: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/9.jpg)
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
![Page 10: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/10.jpg)
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
![Page 11: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/11.jpg)
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
![Page 12: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/12.jpg)
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
![Page 13: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/13.jpg)
Test Impact Analysis
• Works with Code Coverage data in TFS.
• Compares code changes with coverage data.
• Recommends tests to run based on coverage impacted.
![Page 14: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/14.jpg)
Gated Check-in
• Checks changes into a shelfset on server.
• Merges changes with main and runs build.
• If successful, commits changes to main.
![Page 15: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/15.jpg)
DEMOVisual Studio IDE
![Page 16: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/16.jpg)
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
![Page 17: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/17.jpg)
DEMOHistorical Debugger
![Page 18: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/18.jpg)
The Parallel Computing Initiative
Letting the brightest developers solve business problems, not concurrencyproblems.
“Concurrency for the masses”
![Page 19: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/19.jpg)
Concurrency Landscape
For Visual Studio 2010 and the .NET Framework 4…
System.Threading Parallel Extensions
Unified Cancellation Model
![Page 20: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/20.jpg)
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)
![Page 21: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/21.jpg)
Parallel Static Class
When program statements are independent…
…they can be parallelized
StatementA();
StatementB();
StatementC();
Parallel.Invoke(
() => StatementA(),
() => StatementB(),
() => StatementC() );
![Page 22: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/22.jpg)
DEMOTask Parallel Library
![Page 23: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/23.jpg)
Structured ParallelismParallel class
– static (overloaded) methods– helper methods to create/work with Tasks– encapsulates common patterns
![Page 24: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/24.jpg)
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()
![Page 25: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/25.jpg)
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
![Page 26: Visual Studio 2010](https://reader034.fdocuments.us/reader034/viewer/2022051015/555ed4a2d8b42af67f8b5b32/html5/thumbnails/26.jpg)
• 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