Rights Contact Login For More Details
- Wiley
More About This Title Professional Visual Studio 2015
- English
English
Professional Visual Studio 2015 is the leading pro's guide to new and upgraded features of Microsoft Visual Studio. With a unique IDE-centric approach and deep dive into the software's many nooks and crannies, this book will bring you up to speed quickly on everything Visual Studio 2015 has to offer. Whether you're new to Visual Studio or just upgrading, you'll appreciate in-depth, professional explanation of updates, features, and support. Visual Studio 2015 is packed with improvements that increase productivity, and this book walks you through each one in succession to help you smooth your workflow and get more accomplished. From customization and the interface to code snippets and debugging, the Visual Studio upgrade expands your options — and this book is your fast-track guide to getting on board quickly.
The Visual Studios 2015 release fixes a number of issues that deterred many professionals from adopting VS 2013. Old products have been retooled, and new features are aimed at productivity enhancement and fixes to UI. Fully aligned with VS 2015, this guide walks you through the changes and helps you incorporate helpful new features into the way you work.
- Discover new options for themes, displays, and settings
- Learn the new workflow and shortcuts to ASP.NET code
- Master improved debugging and unit testing support capabilities
- Exploit changes to Windows STORE apps, phone apps, Azure, and SharePoint
- English
English
About the author
Bruce Johnson is a partner at ObjectSharp Consulting and a 30-year veteran of the computer industry. For nearly 20 years, his projects have been on the leading edge of Windows technology. Bruce is a Microsoft Certified Trainer, a Microsoft MVP, and a frequent speaker at conferences and user groups. He has written several Wrox guides as well as columns and articles for numerous magazines.
- English
English
PART I: INTEGRATED DEVELOPMENT ENVIRONMENT 1
CHAPTER 1: A QUICK TOUR 3
Getting Started 3
Installing Visual Studio 2015 3
Running Visual Studio 2015 6
Is Visual Studio Really Cloud Enabled? 7
The Visual Studio IDE 10
Developing, Building, Debugging, and Deploying Your First Application 12
Summary 17
CHAPTER 2: THE SOLUTION EXPLORER, TOOLBOX, AND PROPERTIES 19
The Solution Explorer 20
Previewing Files 22
Common Tasks 23
Adding Projects and Items 25
Adding References 28
Adding Service References 29
Adding Connected Services 30
Adding Analyzers 31
Adding NuGet Packages 32
The Toolbox 35
Arranging Components 37
Adding Components 38
Properties 40
Extending the Properties Window 42
The Browsable Attribute 42
DisplayName Attribute 43
Description 43
Category 43
DefaultValue 44
AmbientValue 44
Summary 46
CHAPTER 3: OPTIONS AND CUSTOMIZATIONS 47
The Start Page 48
Customizing the Start Page 49
Window Layout 49
Viewing Windows and Toolbars 50
Docking 50
Saving the Window Layout 53
The Editor Space 55
Navigating Open Items 57
Fonts and Colors 58
Visual Guides 59
Full-Screen Mode 60
Tracking Changes 61
Other Options 62
Keyboard Shortcuts 62
Quick Launch 63
Projects and Solutions 65
Build and Run 66
VB Options 67
Importing and Exporting Settings 67
Synchronized Settings 70
Summary 71
CHAPTER 4: THE VISUAL STUDIO WORKSPACE 73
The Code Editor 73
The Code Editor Window Layout 74
Regions 75
Outlining 75
Code Formatting 76
Navigating Forward/Backward 78
Additional Code Editor Features 78
Reference Highlighting 78
Code Zooming 78
Word Wrap 79
Line Numbers 79
Auto Brace Complete 80
Split View 80
Tear Away (Floating) Code Windows 81
Duplicating Solution Explorer 82
Creating Tab Groups 82
Advanced Functionality 84
Commenting/Uncommenting a Code Block 84
Block Selection 84
Multiline Editing 84
The Clipboard Ring 85
Full-Screen View 85
Go to Defi nition 85
Find All References 85
Code Navigation 86
Peek Definition 86
Enhanced Scrollbar 87
Navigate To 89
The Command Window 91
The Immediate Window 92
The Class View 93
The Error List 94
The Object Browser 95
The Document Outline Tool Window 96
HTML Outlining 97
Control Outlining 98
Reorganizing Tool Windows 100
Summary 101
CHAPTER 5: FIND AND REPLACE AND HELP 103
Quick Find/Replace 104
Quick Find 104
Quick Replace 105
Find Options 106
Find and Replace Options 106
Find/Replace in Files 106
Find in Files 107
Find Dialog Options 108
Regular Expressions 109
Results Window 111
Replace in Files 111
Accessing Help 112
Navigating and Searching the Help System 114
Configuring the Help System 114
Summary 115
PART II: GETTING STARTED 117
CHAPTER 6: SOLUTIONS, PROJECTS, AND ITEMS 119
Solution Structure 120
Solution File Format 121
Solution Properties 122
Common Properties 123
Configuration Properties 124
Project Types 126
Project Files Format 128
Project Properties 129
Application 130
Assembly Information 130
User Account Control Settings 131
Application Framework (Visual Basic Only) 132
Compile (Visual Basic Only) 133
Build (C# and F# Only) 135
Build Events (C# and F# Only) 136
Debug 137
Start Action 137
Start Options 137
Enable Debuggers 137
References (Visual Basic Only) 138
Resources 139
Services 140
Settings 141
Reference Paths (C# and F# Only) 142
Signing 143
My Extensions (Visual Basic Only) 144
Security 144
Publish 145
Code Analysis 146
Web Application Project Properties 147
Web 148
Silverlight Applications 148
Package/Publish Web 149
Package/Publish SQL 150
Web Site Projects 151
NuGet Packages 152
NuGet Package Manager 152
Package Manager Console 154
Summary 154
CHAPTER 7: INTELLISENSE AND BOOKMARKS 155
IntelliSense Explained 155
General IntelliSense 156
IntelliSense and C++ 158
Completing Words and Phrases 158
In Context 159
List Members 160
Suggestion Mode 160
Stub Completion 161
Generate From Usage 163
Parameter Information 165
Quick Info 166
JavaScript IntelliSense 166
The JavaScript IntelliSense Context 167
Referencing Another JavaScript File 167
XAML IntelliSense 168
IntelliSense Options 169
General Options 169
Statement Completion 171
C#-Specific Options 171
Extended IntelliSense 172
Code Snippets 173
XML Comments 173
Adding Your Own IntelliSense 173
Bookmarks and the Bookmark Window 173
Summary 176
CHAPTER 8: CODE SNIPPETS AND REFACTORING 177
Code Snippets Revealed 178
Storing Code Blocks in the Toolbox 178
Code Snippets 179
Using Snippets in C# 179
Using Snippets in VB 181
Surround With Snippet 182
Code Snippets Manager 183
Creating Snippets 184
Reviewing Existing Snippets 184
Distributing Code Snippets 188
Accessing Refactoring Support 189
Refactoring Actions 189
Extract Method 190
Encapsulate Field 191
Extract Interface 192
Change Signature 193
Inline and Explaining Variables 194
Rename 195
Generate Method Stub 195
Organize Usings 196
Summary 197
CHAPTER 9: SERVER EXPLORER 199
Server Connections 200
Event Logs 201
Management Classes 204
Management Events 206
Message Queues 210
Performance Counters 213
Services 217
Data Connections 218
SharePoint Connections 219
Summary 220
CHAPTER 10: MODELING WITH THE CLASS DESIGNER 221
Creating a Class Diagram 222
The Design Surface 223
The Toolbox 224
Entities 224
Connectors 225
The Class Details 226
The Properties Window 227
Layout 228
Exporting Diagrams 229
Code Generation and Refactoring 229
Drag-and-Drop Code Generation 229
IntelliSense Code Generation 232
Refactoring with the Class Designer 232
Summary 233
PART III: DIGGING DEEPER 235
CHAPTER 11: UNIT TESTING 237
Your First Test Case 238
Identifying Tests Using Attributes 243
TestClass 243
TestMethod 244
Additional Test Attributes 244
Description 244
Owner 244
Priority 244
TestCategories 244
WorkItems 245
Ignore 245
Timeout 245
Unit Tests and Code Lens 246
Asserting the Facts 248
The Assert Class 248
The StringAssert Class 249
The CollectionAssert Class 249
The ExpectedException Attribute 249
Initializing and Cleaning Up 251
TestInitialize and TestCleanup 251
ClassInitialize and ClassCleanup 251
AssemblyInitialize and AssemblyCleanup 252
Testing Context 252
Data 253
Writing Test Output 255
Advanced Unit Testing 257
Custom Properties 257
Testing Private Members 258
IntelliTest 259
Summary 262
CHAPTER 12: DOCUMENTATION WITH XML COMMENTS 263
Inline Commenting 264
XML Comments 265
Adding XML Comments 265
XML Comment Tags 266
The <c> Tag 266
The <code> Tag 267
The <example> Tag 267
The <exception> Tag 268
The <include> Tag 269
The <list> Tag 271
The <para> Tag 272
The <param> Tag 272
The <paramref> Tag 273
The <permission> Tag 274
The <remarks> Tag 274
The <returns> Tag 275
The <see> Tag 276
The <seealso> Tag 276
The <summary> Tag 277
The <typeparam> Tag 277
The <typeparamref> Tag 278
The <value> Tag 279
Using XML Comments 279
IntelliSense Information 281
Generating Documentation with GhostDoc 281
Compiling Documentation with Sandcastle 282
Task List Comments 286
Summary 288
CHAPTER 13: CODE CONSISTENCY TOOLS 289
Source Control 289
Selecting a Source Control Repository 290
Environment Settings 291
Accessing Source Control 291
Adding the Solution 291
Solution Explorer 293
Changes 293
Merging Changes 294
History 296
Summary 297
CHAPTER 14: CODE GENERATION WITH T4 299
Creating a T4 Template 300
T4 Building Blocks 303
Expression Blocks 304
Statement Blocks 304
Class Feature Blocks 306
How T4 Works 307
T4 Directives 310
Template Directive 310
Output Directive 311
Assembly Directive 311
Import Directive 312
Include Directive 313
Troubleshooting 313
Design-Time Errors 314
Compiling Transformation Errors 314
Executing Transformation Errors 315
Generated Code Errors 315
Generating Code Assets 316
Runtime Text Templates 319
Using Runtime Text Templates 321
Differences between Runtime Text Templates and Standard T4 Templates 324
Tips and Tricks 325
Summary 326
CHAPTER 15: PROJECT AND ITEM TEMPLATES 327
Creating Templates 327
Item Template 328
Project Template 332
Template Structure 333
Template Parameters 335
Template Locations 336
Extending Templates 337
Template Project Setup 337
IWizard 337
Generating the Extended Project Template 342
Starter Kits 343
Online Templates 344
Summary 345
CHAPTER 16: LANGUAGE-SPECIFIC FEATURES 347
Hitting a Nail with the Right Hammer 348
Imperative 348
Declarative 348
Dynamic 349
Functional 349
What’s It All Mean? 350
A Tale of Two Languages 351
.NET Compiler Platform (Roslyn) 351
The Compiler API 352
The Diagnostic API 353
Workspaces API 353
F# 353
Your First F# Program 353
Exploring F# Language Features 357
Type Providers 359
Query Expressions 360
Auto-Implemented Properties 360
Summary 361
PART IV: RICH CLIENT APPLICATIONS 363
CHAPTER 17: WINDOWS FORMS APPLICATIONS 365
Getting Started 365
The Windows Form 366
Appearance Properties 368
Layout Properties 369
Window Style Properties 369
Form Design Preferences 369
Adding and Positioning Controls 371
Vertically Aligning Text Controls 373
Automatic Positioning of Multiple Controls 374
Tab Order and Layering Controls 375
Locking Control Design 376
Setting Control Properties 376
Service-Based Components 377
Smart Tag Tasks 378
Container Controls 379
Panel and SplitContainer 379
FlowLayoutPanel 380
TableLayoutPanel 381
Docking and Anchoring Controls 382
Summary 383
CHAPTER 18: WINDOWS PRESENTATION FOUNDATION (WPF) 385
What Is WPF? 386
Getting Started with WPF 387
XAML Fundamentals 389
The WPF Controls 390
The WPF Layout Controls 392
The WPF Designer and XAML Editor 394
Working with the XAML Editor 396
Working with the WPF Designer 396
The Properties Tool Window 399
Data Binding Features 405
Styling Your Application 410
Windows Forms Interoperability 413
Hosting a WPF Control in Windows Forms 413
Hosting a Windows Forms Control in WPF 415
Debugging with the WPF Visualizer 416
Summary 418
CHAPTER 19: OFFICE BUSINESS APPLICATIONS 419
Choosing an Offi ce Project Type 420
Document-Level Customizations 421
Application-Level Add-Ins 421
Creating a Document-Level Customization 422
Your First VSTO Project 422
Protecting the Document Design 426
Adding an Actions Pane 427
Creating an Application Add-In 429
Some Outlook Concepts 429
Creating an Outlook Form Region 430
Debugging Office Applications 434
Unregistering an Add-In 434
Disabled Add-Ins 436
Deploying Office Applications 437
Summary 438
CHAPTER 20: WINDOWS STORE APPLICATIONS 439
What Is a Windows Store Application? 440
Content before Chrome 441
Snap and Scale 441
Semantic Zoom 441
Contracts 442
Tiles 442
Embracing the Cloud 442
Creating a Windows Store Application 443
The Windows 8 Simulator 446
Interaction Mode 447
Two-Finger Gestures 447
Device Characteristics 447
Location 448
Screenshots 449
Network Simulation 449
Your Windows Store Application 449
.NET Native Compilation 451
Compiling Using .NET Native Tools 452
Summary 453
CHAPTER 21: WINDOWS PHONE 455
Creating a Windows Phone Project 455
Debugging Your Application 458
Using the Windows Phone Emulator 459
Deploying to a Real Phone 460
Phone Developer Power Tools 463
Application Verifi er 464
Performance Monitor 466
Performance Recorder 467
Summary 468
CHAPTER 22: UNIVERSAL APPS 469
Portable Class Library 470
Shared Projects 474
Universal Windows Apps 474
Summary 479
PART V: WEB APPLICATIONS 481
CHAPTER 23: ASP.NET WEB FORMS 483
Web Application Versus Web Site Projects 484
Creating Web Projects 485
Creating a Web Site Project 485
Creating a Web Application Project 489
Designing Web Forms 492
The HTML Designer 492
Positioning Controls and HTML Elements 495
Formatting Controls and HTML Elements 497
CSS Tools 499
Validation Tools 503
Web Controls 505
Navigation Components 505
User Authentication 506
Data Components 508
Data Source Controls 508
Data View Controls 510
Data Helper Controls 511
Web Parts 511
Master Pages 512
Rich Client-Side Development 514
Developing with JavaScript 514
Working with ASP.NET AJAX 516
Summary 518
CHAPTER 24: ASP.NET MVC 519
Model View Controller 520
Getting Started with ASP.NET MVC 521
Choosing a Model 524
Controllers and Action Methods 525
MVC Scaffolding 525
Rendering a UI with Views 528
Advanced MVC 536
Routing 536
Action Method Parameters 540
Model Binders 542
Areas 544
Validation 546
Partial Views 548
Dynamic Data Templates 549
Display Templates 549
Edit Templates 551
jQuery 552
ASP.NET MVC 6 (and ASP.NET 5) 554
Summary 558
CHAPTER 25: SILVERLIGHT 559
What Is Silverlight? 560
Getting Started with Silverlight 561
Navigation Framework 568
Theming 569
Enabling Running Out of Browser 571
Summary 575
CHAPTER 26: SHAREPOINT 577
SharePoint Execution Models 578
Farm Solution 578
Sandbox Solution 578
App Model 579
Preparing the Development Environment 580
Exploring SharePoint 2013 581
Creating a SharePoint Project 583
Building Custom SharePoint Components 587
Developing Web Parts 587
Creating Content Types and Lists 588
Adding Event Receivers 592
Creating SharePoint Workflows 593
Working with Features 595
Packaging and Deployment 596
Summary 599
CHAPTER 27: WINDOWS AZURE 601
The Windows Azure Platform 602
The Compute Emulator 604
Table, Blob, and Queue Storage 606
Application Deployment 610
SQL Azure 613
AppFabric 614
Service Bus 615
Access Control Service 615
Azure Mobile Services 615
Azure Websites 616
Azure Virtual Machines 616
Connectivity 617
Endpoints 617
Virtual Network 617
Summary 618
PART VI: DATA 619
CHAPTER 28: VISUAL DATABASE TOOLS 621
Database Windows in Visual Studio 2015 622
Server Explorer 623
Table Editing 625
Relationship Editing 626
Views, Stored Procedures, and Functions 627
The Data Sources Window 627
SQL Server Object Explorer 628
Editing Data 630
Summary 631
CHAPTER 29: DATASETS AND DATABINDING 633
DataSets Overview 634
Adding a Data Source 635
The DataSet Designer 636
Binding Data 639
BindingSource 641
BindingNavigator 644
Data Source Selections 647
Saving Changes 650
Inserting New Items 652
Validation 653
Customized DataSets 655
BindingSource Chains and the DataGridView 657
Working with Data Sources 659
The Web Service Data Source 661
Summary 663
CHAPTER 30: LANGUAGE INTEGRATED QUERIES (LINQ) 665
LINQ Providers 666
Old-School Queries 666
Query Pieces 669
From 669
Select 670
Where 671
Group By 671
Custom Projections 672
Order By 673
Debugging and Execution 674
LINQ to XML 675
VB XML Literals 677
Creating XML with LINQ 677
Expression Holes 678
Querying XML 680
Schema Support 681
LINQ to SQL 683
Creating the Object Model 683
Querying with LINQ to SQL 686
Inserts, Updates, and Deletes 687
Stored Procedures 688
Binding LINQ to SQL Objects 691
Summary 693
CHAPTER 31: THE ADO.NET ENTITY FRAMEWORK 695
What Is the Entity Framework? 696
Comparison with LINQ to SQL 696
Entity Framework Concepts 697
Getting Started 697
Creating an Entity Model 698
The Entity Data Model Wizard 698
The Entity Framework Designer 702
Creating/Modifying Entities 706
Changing Property Names 706
Adding Properties to an Entity 707
Creating Complex Types 708
Creating an Entity 708
Creating/Modifying Entity Associations 710
Entity Inheritance 711
Validating an Entity Model 711
Updating an Entity Model with Database Changes 712
Querying the Entity Model 712
LINQ to Entities Overview 713
Getting an Object Context 713
CRUD Operations 714
Data Retrieval 714
Saving Data 716
Navigating Entity Associations 718
Advanced Functionality 719
Updating a Database from an Entity Model 720
Adding Business Logic to Entities 720
Plain Old CLR Objects (POCO) 720
Summary 720
CHAPTER 32: REPORTING 721
Getting Started with Reporting 721
Designing Reports 723
Defining Data Sources 725
Reporting Controls 727
Text Box 727
Line/Rectangle 729
Table 729
Matrix 733
List 734
Image 735
Subreport 736
Chart 736
Gauge 738
Map 741
Data Bar 741
Sparkline 742
Indicator 743
Expressions, Placeholders, and Aggregates 743
Custom Code 747
Report Layout 751
Subreports 754
The Report Wizard 756
Rendering Reports 757
The Report Viewer Controls 757
Generating the Report 758
Rendering Reports to Different Formats 759
Deploying Reports 761
Summary 761
PART VII: APPLICATION SERVICES 763
CHAPTER 33: WINDOWS COMMUNICATION FOUNDATION (WCF) 765
What Is WCF? 766
Getting Started 766
Defining Contracts 767
Creating the Service Contract 768
Creating the Data Contract 770
Configuring WCF Service Endpoints 772
Hosting WCF Services 777
Consuming a WCF Service 782
Summary 787
CHAPTER 34: WINDOWS WORKFLOW FOUNDATION (WF) 789
What Is Windows Workflow Foundation? 790
Why Use Windows Workflow? 790
Workflow Concepts 791
Activities 791
Control Flow Activities 793
Expressions 793
Workflow Run Time/Scheduler 793
Bookmarks 793
Persistence 794
Tracking 794
Getting Started 795
The Workflow Foundation Designer 797
Creating a Workflow 801
Designing a Workflow 801
Writing Code Activities 804
Executing a Workflow 806
Debugging Workflows 808
Testing Workflows 809
Summary 809
CHAPTER 35: CLIENT APPLICATION SERVICES 811
Client Services 812
Role Authorization 815
User Authentication 817
Settings 819
Login Form 824
Offline Support 827
Summary 829
CHAPTER 36: SYNCHRONIZATION SERVICES 831
Occasionally Connected Applications 832
Server Direct 832
Getting Started with Synchronization Services 836
Synchronization Services over N-Tiers 840
Summary 841
PART VIII: CONFIGURATION AND RESOURCES 843
CHAPTER 37: CONFIGURATION FILES 845
.Config Files 845
Machine.Config 846
Web.Config 846
Transformations 846
App.Config 848
Security.Config 848
ApplicationHost.Config 848
Configuration Schema 849
Section: configurationSections 849
Section: startup 850
Section: runtime 850
Section: system.runtime.remoting 851
Section: system.net 851
Section: cryptographySettings 852
Section: system.diagnostics 852
Section: system.web 853
webServices 853
Section: compiler 854
Configuration Attributes 854
Application Settings 855
Using appSettings 855
Project Settings 856
Dynamic Properties 857
Custom Configuration Sections 859
IntelliSense 863
User Settings 864
Referenced Projects with Settings 865
Summary 867
CHAPTER 38: CONNECTION STRINGS 869
Connection String Wizard 869
SQL Server Format 875
In-Code Construction 877
Encrypting Connection Strings 878
LocalDB 881
Azure SQL Database 881
Summary 884
CHAPTER 39: RESOURCE FILES 885
What Are Resources? 885
Text File Resources 886
Resx Resource Files 887
Binary Resources 888
Adding Resources 888
Embedding Files as Resources 889
Naming Resources 890
Accessing Resources 890
Designer Files 891
Resourcing Your Application 892
Control Images 894
Satellite Resources 895
Cultures 895
Creating Culture Resources 895
Loading Culture Resource Files 896
Satellite Culture Resources 897
Accessing Specifi cs 897
Bitmap and Icon Loading 897
Cross-Assembly Referencing 898
ComponentResourceManager 898
Coding Resource Files 899
ResourceReader and ResourceWriter 900
ResxResourceReader and ResxResourceWriter 900
Custom Resources 901
Summary 904
PART IX: DEBUGGING 905
CHAPTER 40: USING THE DEBUGGING WINDOWS 907
The Code Window 907
Breakpoints 908
DataTips 908
The Breakpoints Window 908
The Output Window 909
The Immediate Window 910
The Watch Windows 912
QuickWatch 912
Watch Windows 1–4 913
Autos and Locals 913
The Code Execution Windows 913
Call Stack 914
Threads 914
Modules 915
Processes 915
The Memory Windows 916
Memory Windows 1–4 916
Disassembly 917
Registers 918
The Parallel Debugging Windows 918
Parallel Stacks 919
Parallel Tasks 921
Exceptions 921
Customizing the Exception Assistant 923
Summary 925
CHAPTER 41: DEBUGGING WITH BREAKPOINTS 927
Breakpoints 927
Setting a Breakpoint 928
Simple Breakpoints 928
Function Breakpoints 929
Address Breakpoint 930
Adding Break Conditions 930
Condition 930
Hit Count 932
Filter 932
Working with Breakpoints 933
Deleting Breakpoints 933
Disabling Breakpoints 933
Labeling Breakpoints 934
Import and Export of Breakpoints 935
Tracepoints 935
Creating a Tracepoint 935
Output Messages 936
Execution Control 936
Stepping through Code 936
Stepping Over (F10) 937
Stepping Into (F11) 937
Stepping Out (Shift+F11) 937
Step Filtering 937
Moving the Execution Point 938
Edit and Continue 938
Rude Edits 939
Stop Applying Changes 939
Summary 939
CHAPTER 42: DATATIPS, DEBUG PROXIES, AND VISUALIZERS 941
DataTips 942
Debugger Attributes 943
DebuggerBrowsable 943
DebuggerDisplay 944
DebuggerHidden 945
DebuggerStepThrough 946
DebuggerNonUserCode 947
DebuggerStepperBoundary 947
Type Proxies 947
Raw View 949
Visualizers 950
Advanced Techniques 953
Saving Changes to Your Object 953
Summary 955
CHAPTER 43: DEBUGGING WEB APPLICATIONS 957
Debugging Server-Side ASP.NET Code 958
Web Application Exceptions 960
Edit and Continue 962
Error Handling 962
Page-Level Errors 963
Application-Level Errors 963
Debugging Client-Side JavaScript 964
Setting Breakpoints in JavaScript Code 964
Debugging Dynamically Generated JavaScript 965
Debugging ASP.NET AJAX JavaScript 966
Tracing 967
Page-Level Tracing 967
Application-Level Tracing 968
Trace Output 969
The Trace Viewer 970
Custom Trace Output 970
Health Monitoring 970
Summary 972
CHAPTER 44: ADVANCED DEBUGGING TECHNIQUES 975
Start Actions 976
Debugging with Code 978
The Debugger Class 978
The Debug and Trace Classes 979
Debugging Running Applications 981
Attaching to a Windows Process 981
Attaching to a Web Application 982
Remote Debugging 983
Diagnostic Tools 985
IntelliTrace 985
Memory and CPU Usage 988
Code Map Debugging 990
Expanding the Code Map 991
Adding Notes 992
.NET Framework Source 993
Multithreaded and Parallelized Application Debugging 994
Debugging SQL Server Stored Procedures 995
Mixed-Mode Debugging 996
Postmortem Debugging 997
Generating Dump Files 997
Debugging Dump Files 998
Summary 1000
PART X: BUILD AND DEPLOYMENT 1001
CHAPTER 45: UPGRADING WITH VISUAL STUDIO 2015 1003
Upgrading from Recent Visual Studio Versions 1004
Upgrading to .NET Framework 4.6 1006
Summary 1008
CHAPTER 46: BUILD CUSTOMIZATION 1009
General Build Options 1009
Manual Dependencies 1012
The Visual Basic Compile Page 1013
Advanced Compiler Settings 1015
Optimizations 1015
Compilation Constants 1016
Build Events 1016
C# Build Pages 1018
MSBuild 1020
How Visual Studio Uses MSBuild 1020
The MSBuild Schema 1023
Items 1024
Properties 1024
Targets 1024
Tasks 1024
Assembly Versioning via MSBuild Tasks 1025
Summary 1026
CHAPTER 47: ASSEMBLY VERSIONING AND SIGNING 1027
Assembly Naming 1028
Version Consistency 1030
Strongly Named Assemblies 1032
The Global Assembly Cache 1032
Signing an Assembly 1033
Summary 1035
CHAPTER 48: OBFUSCATION, APPLICATION MONITORING, AND MANAGEMENT 1037
The IL Disassembler 1038
Decompilers 1039
Obfuscating Your Code 1041
Dotfuscator and Analytics 1041
Obfuscation Attributes 1046
ObfuscationAssemblyAttribute 1047
ObfuscationAttribute 1047
Words of Caution 1049
Reflection 1049
Strongly Named Assemblies 1049
Debugging with Delayed Signing 1050
Application Monitoring and Management 1051
Tamper Defense 1052
Application Instrumentation and Analytics 1053
Summary 1056
CHAPTER 49: PACKAGING AND DEPLOYMENT 1057
Windows Installer XML Toolset 1058
Building an Installer 1059
Using Heat to Create Fragments 1062
The Service Installer 1065
ClickOnce 1066
One Click to Deploy 1067
One Click to Update 1072
Summary 1074
CHAPTER 50: WEB APPLICATION DEPLOYMENT 1075
Web Deployment 1076
Publishing a Web Application 1076
Publishing to Azure 1078
Web Project Installers 1079
The Web Platform Installer 1081
Extending the Web Platform Installer 1082
Summary 1086
PART XI: CUSTOMIZING AND EXTENDING VISUAL STUDIO 1087
CHAPTER 51: THE AUTOMATION MODEL 1089
Visual Studio Extensibility Options 1090
The Visual Studio Automation Model 1090
An Overview of the Automation Model 1090
Solutions and Projects 1092
Windows and Documents 1093
Commands 1095
Debugger 1096
Events 1097
Summary 1097
CHAPTER 52: VSPACKAGES 1099
Developing a VSPackage Extension 1100
The VSPackage Wizard 1100
Project Structure 1104
Command Table File 1104
Handling Commands 1106
Testing Your Package 1106
Creating a Tool Window 1107
Deploying VSPackages 1110
Summary 1113
CHAPTER 53: MANAGED EXTENSIBILITY FRAMEWORK (MEF) 1115
Getting Started with MEF 1116
Imports and Exports 1118
Contracts 1119
Catalogs 1121
Advanced MEF 1122
The Visual Studio Editor 1123
The Text Model Subsystem 1123
The Text View Subsystem 1124
The Classification Subsystem 1125
The Operations Subsystem 1125
Extending the Editor 1125
Editor Extension Points 1126
Content Types 1127
Classification Types and Formats 1127
Margins 1128
Tags 1128
Adornments 1129
Mouse Processors 1129
Drop Handlers 1129
Editor Options 1129
IntelliSense 1130
Editor Services 1131
The Check Comment Highlighter Extension 1131
Summary 1138
PART XII: VISUAL STUDIO ENTERPRISE 1139
CHAPTER 54: VISUAL STUDIO ENTERPRISE FOR ARCHITECTS 1141
Modeling Projects 1142
UML Diagrams 1142
Use Case Diagrams 1143
Activity Diagrams 1143
Sequence Diagrams 1145
Component Diagrams 1147
Class Diagrams 1148
UML Model Explorer 1148
Using Layer Diagrams to Verify Application Architecture 1149
Linking to Team Foundation Server 1151
Exploring Code with Code Maps 1152
Summary 1154
CHAPTER 55: VISUAL STUDIO ENTERPRISE FOR DEVELOPERS 1155
Code Metrics 1156
Lines of Code 1156
Depth of Inheritance 1157
Class Coupling 1157
Cyclomatic Complexity 1158
Maintainability Index 1158
Excluded Code 1158
Code Analysis Tool 1158
C/C++ Code Analysis Tool 1159
Profiling Tools 1160
Configuring Profiler Sessions 1161
Reports 1162
Standalone Profiler 1163
IntelliTrace 1164
Database Tools 1167
Database Schemas 1167
SQL-CLR Support 1169
Database Refactoring 1171
Schema Compare 1172
Static Analysis 1173
Transact-SQL Editor 1174
Best Practices 1174
Summary 1175
CHAPTER 56: VISUAL STUDIO ENTERPRISE FOR TESTERS 1177
Automated Tests 1178
Web Performance Tests 1178
Load Tests 1181
Test Load Agent 1185
Coded UI Test 1185
Generic Tests 1186
Ordered Test 1187
Relating Code and Tests 1187
Code Coverage 1187
Visual Studio Test Management 1189
Microsoft Test Manager 1189
Testing Center 1190
Lab Center 1193
Summary 1194
CHAPTER 57: TEAM FOUNDATION SERVER 1195
Team Project 1196
Process Templates 1197
Work Item Tracking 1200
Work Item Queries 1200
Work Item Types 1202
Adding Work Items 1202
Work Item State 1203
Excel and Project Integration 1203
Excel 1204
Project 1205
Version Control 1206
Working from Solution Explorer 1206
Check Out 1207
Check In 1207
Resolve Conflicts 1209
Working Offline 1210
Label 1211
History 1212
Annotate 1213
Shelve 1213
Branch 1214
Merge 1215
Team Foundation Build 1215
Reporting and Business Intelligence 1218
Team Portal 1219
Summary 1219
INDEX 1221