|
Cover |
1 |
|
|
Title Page |
7 |
|
|
Copyright |
8 |
|
|
About the Author |
11 |
|
|
About the Technical Editor |
11 |
|
|
Credits |
13 |
|
|
Acknowledgments |
15 |
|
|
Contents |
17 |
|
|
Introduction |
33 |
|
|
Who This Book is for |
33 |
|
|
What This Book Covers |
34 |
|
|
How This Book is Structured |
34 |
|
|
What you Need to use This Book |
36 |
|
|
Conventions |
37 |
|
|
Source Code |
37 |
|
|
Errata |
38 |
|
|
P2P.Wrox.Com |
38 |
|
|
Part I: Integrated Development Environment |
43 |
|
|
Chapter 1: A Quick Tour |
45 |
|
|
Getting Started |
45 |
|
|
Installing Visual Studio 2017 |
45 |
|
|
Running Visual Studio 2017 |
51 |
|
|
Is Visual Studio Really Cloud Enabled? |
51 |
|
|
The Visual Studio IDE |
53 |
|
|
Developing, Building, Debugging, and Deploying Your First Application |
55 |
|
|
Summary |
60 |
|
|
Chapter 2: The Solution Explorer, Toolbox, and Properties |
63 |
|
|
The Solution Explorer |
64 |
|
|
Previewing Files |
67 |
|
|
Common Tasks |
68 |
|
|
The Toolbox |
80 |
|
|
Arranging Components |
82 |
|
|
Adding Components |
84 |
|
|
Properties |
85 |
|
|
Extending the Properties Window |
87 |
|
|
Summary |
91 |
|
|
Chapter 3: Options and Customizations |
93 |
|
|
The Start Page |
94 |
|
|
Customizing the Start Page |
95 |
|
|
Window Layout |
95 |
|
|
Viewing Windows and Toolbars |
95 |
|
|
Docking |
96 |
|
|
Saving the Window Layout |
99 |
|
|
The Editor Space |
101 |
|
|
Navigating Open Items |
101 |
|
|
Fonts and Colors |
104 |
|
|
Visual Guides |
105 |
|
|
Full-Screen Mode |
106 |
|
|
Tracking Changes |
107 |
|
|
Other Options |
107 |
|
|
Keyboard Shortcuts |
108 |
|
|
Quick Launch |
110 |
|
|
Projects and Solutions |
111 |
|
|
Build and Run |
112 |
|
|
VB Options |
113 |
|
|
Importing and Exporting Settings |
114 |
|
|
Synchronized Settings |
116 |
|
|
Summary |
117 |
|
|
Chapter 4: The Visual Studio Workspace |
119 |
|
|
The Code Editor |
119 |
|
|
The Code Editor Window Layout |
119 |
|
|
Regions |
121 |
|
|
Outlining |
121 |
|
|
Code Formatting |
122 |
|
|
Navigating Forward/Backward |
123 |
|
|
Additional Code Editor Features |
124 |
|
|
Split View |
125 |
|
|
Tear Away (Floating) Code Windows |
126 |
|
|
Duplicating Solution Explorer |
128 |
|
|
Creating Tab Groups |
128 |
|
|
Advanced Functionality |
130 |
|
|
Code Navigation |
132 |
|
|
Peek Definition |
132 |
|
|
Enhanced Scrollbar |
133 |
|
|
Structure Visualizer |
136 |
|
|
Navigate To |
137 |
|
|
The Command Window |
138 |
|
|
The Immediate Window |
139 |
|
|
The Class View |
140 |
|
|
The Error List |
141 |
|
|
The Object Browser |
141 |
|
|
Summary |
142 |
|
|
Chapter 5: Find and Replace and Help |
143 |
|
|
Quick Find/Replace |
144 |
|
|
Quick Find |
144 |
|
|
Quick Replace |
145 |
|
|
Find Options |
146 |
|
|
Find and Replace Options |
146 |
|
|
Find/Replace in Files |
146 |
|
|
Find in Files |
147 |
|
|
Find Dialog Options |
148 |
|
|
Regular Expressions |
148 |
|
|
Results Window |
150 |
|
|
Replace in Files |
151 |
|
|
Accessing Help |
152 |
|
|
Navigating and Searching the Help System |
154 |
|
|
Configuring the Help System |
154 |
|
|
Summary |
155 |
|
|
Part II: Getting Started |
157 |
|
|
Chapter 6: Solutions, Projects, and Items |
159 |
|
|
Solution Structure |
160 |
|
|
Solution File Format |
161 |
|
|
Solution Properties |
162 |
|
|
Common Properties |
162 |
|
|
Configuration Properties |
164 |
|
|
Project Types |
166 |
|
|
Project Files Format |
168 |
|
|
Project Properties |
169 |
|
|
Application |
170 |
|
|
Compile (Visual Basic Only) |
173 |
|
|
Build (C# and F# Only) |
175 |
|
|
Build Events (C# and F# Only) |
176 |
|
|
Debug |
177 |
|
|
References (Visual Basic Only) |
178 |
|
|
Resources |
179 |
|
|
Services |
180 |
|
|
Settings |
181 |
|
|
Reference Paths (C# and F# Only) |
182 |
|
|
Signing |
183 |
|
|
My Extensions (Visual Basic Only) |
183 |
|
|
Security |
184 |
|
|
Publish |
185 |
|
|
Code Analysis |
185 |
|
|
C/C++ Code Analysis Tool |
188 |
|
|
Web Application Project Properties |
188 |
|
|
Web |
188 |
|
|
Package/Publish Web |
189 |
|
|
Package/Publish SQL |
190 |
|
|
Web Site Projects |
191 |
|
|
NuGet Packages |
192 |
|
|
NuGet Package Manager |
192 |
|
|
Package Manager Console |
193 |
|
|
Summary |
194 |
|
|
Chapter 7: IntelliSense and Bookmarks |
197 |
|
|
IntelliSense Explained |
198 |
|
|
General IntelliSense |
198 |
|
|
IntelliSense and C++ |
200 |
|
|
Completing Words and Phrases |
200 |
|
|
Parameter Information |
207 |
|
|
Quick Info |
208 |
|
|
JavaScript IntelliSense |
208 |
|
|
The JavaScript IntelliSense Context |
209 |
|
|
Referencing Another JavaScript File |
210 |
|
|
XAML IntelliSense |
211 |
|
|
IntelliSense Options |
212 |
|
|
General Options |
212 |
|
|
Statement Completion |
214 |
|
|
C#-Specific Options |
214 |
|
|
Extended IntelliSense |
215 |
|
|
Code Snippets |
215 |
|
|
XML Comments |
216 |
|
|
Adding Your Own IntelliSense |
216 |
|
|
Bookmarks and the Bookmark Window |
217 |
|
|
Summary |
219 |
|
|
Chapter 8: Code Snippets and Refactoring |
221 |
|
|
Code Snippets Revealed |
222 |
|
|
Storing Code Blocks in the Toolbox |
222 |
|
|
Code Snippets |
222 |
|
|
Using Snippets in C# |
223 |
|
|
Using Snippets in VB |
225 |
|
|
Surround With Snippet |
226 |
|
|
Code Snippets Manager |
226 |
|
|
Creating Snippets |
228 |
|
|
Reviewing Existing Snippets |
228 |
|
|
Distributing Code Snippets |
233 |
|
|
Accessing Refactoring Support |
234 |
|
|
Refactoring Actions |
234 |
|
|
Extract Method |
234 |
|
|
Encapsulate Field |
235 |
|
|
Extract Interface |
236 |
|
|
Change Signature |
237 |
|
|
Inline and Explaining Variables |
238 |
|
|
Rename |
239 |
|
|
Simplify Object Initialization |
240 |
|
|
Inline Variable Declarations |
241 |
|
|
Use “throw” Expression |
241 |
|
|
Generate Method Stub |
242 |
|
|
Remove and Sort Usings |
243 |
|
|
Summary |
243 |
|
|
Chapter 9: Server Explorer |
245 |
|
|
Server Connections |
246 |
|
|
Event Logs |
247 |
|
|
Message Queues |
249 |
|
|
Performance Counters |
252 |
|
|
Services |
255 |
|
|
Data Connections |
257 |
|
|
SharePoint Connections |
257 |
|
|
Summary |
257 |
|
|
Part III: Digging Deeper |
259 |
|
|
Chapter 10: Unit Testing |
261 |
|
|
Your First Test Case |
262 |
|
|
Identifying Tests Using Attributes |
267 |
|
|
Additional Test Attributes |
268 |
|
|
Unit Tests and Code Lens |
270 |
|
|
Asserting the Facts |
271 |
|
|
The Assert Class |
271 |
|
|
The StringAssert Class |
272 |
|
|
The CollectionAssert Class |
272 |
|
|
The ExpectedException Attribute |
273 |
|
|
Initializing and Cleaning Up |
274 |
|
|
TestInitialize and TestCleanup |
275 |
|
|
ClassInitialize and ClassCleanup |
275 |
|
|
AssemblyInitialize and AssemblyCleanup |
275 |
|
|
Testing Context |
275 |
|
|
Data |
276 |
|
|
Writing Test Output |
279 |
|
|
Live Unit Testing |
280 |
|
|
Advanced Unit Testing |
281 |
|
|
Custom Properties |
281 |
|
|
Testing Private Members |
282 |
|
|
IntelliTest |
284 |
|
|
Summary |
286 |
|
|
Chapter 11: Project and Item Templates |
289 |
|
|
Creating Templates |
289 |
|
|
Item Template |
290 |
|
|
Project Template |
294 |
|
|
Template Structure |
295 |
|
|
Template Parameters |
296 |
|
|
Template Locations |
297 |
|
|
Extending Templates |
297 |
|
|
Template Project Setup |
298 |
|
|
IWizard |
298 |
|
|
Generating the Extended Project Template |
303 |
|
|
Starter Kits |
304 |
|
|
Online Templates |
305 |
|
|
Summary |
306 |
|
|
Chapter 12: Managing Your Source Code |
307 |
|
|
Source Control |
308 |
|
|
Selecting a Source Control Repository |
308 |
|
|
Accessing Source Control |
309 |
|
|
Summary |
314 |
|
|
Part IV: Desktop Applications |
315 |
|
|
Chapter 13: Windows Forms Applications |
317 |
|
|
Getting Started |
317 |
|
|
The Windows Form |
318 |
|
|
Appearance Properties |
320 |
|
|
Layout Properties |
320 |
|
|
Window Style Properties |
320 |
|
|
Form Design Preferences |
320 |
|
|
Adding and Positioning Controls |
323 |
|
|
Vertically Aligning Text Controls |
324 |
|
|
Automatic Positioning of Multiple Controls |
324 |
|
|
Tab Order and Layering Controls |
326 |
|
|
Locking Control Design |
326 |
|
|
Setting Control Properties |
327 |
|
|
Service-Based Components |
328 |
|
|
Smart Tag Tasks |
328 |
|
|
Container Controls |
329 |
|
|
Panel and SplitContainer |
329 |
|
|
FlowLayoutPanel |
330 |
|
|
TableLayoutPanel |
331 |
|
|
Docking and Anchoring Controls |
332 |
|
|
Summary |
333 |
|
|
Chapter 14: Windows Presentation Foundation (WPF) |
335 |
|
|
What Is WPF? |
336 |
|
|
Getting Started with WPF |
337 |
|
|
XAML Fundamentals |
339 |
|
|
The WPF Controls |
340 |
|
|
The WPF Layout Controls |
341 |
|
|
The WPF Designer and XAML Editor |
344 |
|
|
Working with the XAML Editor |
345 |
|
|
Working with the WPF Designer |
346 |
|
|
The Properties Tool Window |
350 |
|
|
Data Binding Features |
354 |
|
|
Styling Your Application |
359 |
|
|
Windows Forms Interoperability |
361 |
|
|
Hosting a WPF Control in Windows Forms |
362 |
|
|
Hosting a Windows Forms Control in WPF |
364 |
|
|
Debugging with the WPF Visualizer |
366 |
|
|
Summary |
368 |
|
|
Chapter 15: Universal Windows Platform Apps |
369 |
|
|
What Is a Windows App? |
370 |
|
|
Content before Chrome |
371 |
|
|
Snap and Scale |
371 |
|
|
Semantic Zoom |
372 |
|
|
Tiles |
372 |
|
|
Embracing the Cloud |
372 |
|
|
Creating a Windows App |
373 |
|
|
The Windows Simulator |
376 |
|
|
Windows Runtime Components |
380 |
|
|
.NET Native Compilation |
381 |
|
|
Compiling Using .NET Native Tools |
382 |
|
|
Summary |
383 |
|
|
Part V: Web Applications |
385 |
|
|
Chapter 16: ASP.NET Web Forms |
387 |
|
|
Web Application Versus Web Site Projects |
388 |
|
|
Creating Web Projects |
389 |
|
|
Creating a Web Site Project |
389 |
|
|
Creating a Web Application Project |
393 |
|
|
Designing Web Forms |
396 |
|
|
The HTML Designer |
396 |
|
|
Positioning Controls and HTML Elements |
399 |
|
|
Formatting Controls and HTML Elements |
401 |
|
|
CSS Tools |
402 |
|
|
Validation Tools |
406 |
|
|
Web Controls |
408 |
|
|
Navigation Components |
408 |
|
|
User Authentication |
409 |
|
|
Data Components |
410 |
|
|
Master Pages |
414 |
|
|
Rich Client-Side Development |
416 |
|
|
Developing with JavaScript |
416 |
|
|
Working with ASP.NET AJAX |
417 |
|
|
Summary |
420 |
|
|
Chapter 17: ASP.NET MVC |
421 |
|
|
Model View Controller |
422 |
|
|
Getting Started with ASP.NET MVC |
423 |
|
|
Choosing a Model |
426 |
|
|
Controllers and Action Methods |
427 |
|
|
MVC Scaffolding |
427 |
|
|
Rendering a UI with Views |
430 |
|
|
Advanced MVC |
437 |
|
|
Routing |
437 |
|
|
Action Method Parameters |
442 |
|
|
Areas |
445 |
|
|
Validation |
448 |
|
|
Partial Views |
450 |
|
|
Dynamic Data Templates |
451 |
|
|
jQuery |
454 |
|
|
Summary |
455 |
|
|
Chapter 18: .NET Core |
457 |
|
|
What Is .NET Core? |
458 |
|
|
Working with ASP.NET Core |
460 |
|
|
project.json versus csproj |
460 |
|
|
Creating an ASP.NET Core Application |
461 |
|
|
NuGet Package Manager |
466 |
|
|
Bower Package Manager |
470 |
|
|
Summary |
473 |
|
|
Chapter 19: Node.js Development |
475 |
|
|
Getting Started with Node.js |
475 |
|
|
Node Package Manager |
482 |
|
|
Task Runner Explorer |
486 |
|
|
Summary |
489 |
|
|
Chapter 20: Python Development |
491 |
|
|
Getting Started with Python |
492 |
|
|
Cookiecutter Extension |
497 |
|
|
Summary |
499 |
|
|
Part VI: Mobile Applications |
501 |
|
|
Chapter 21: Mobile Applications Using .NET |
503 |
|
|
Using Xamarin |
504 |
|
|
Creating a Xamarin Forms Project |
505 |
|
|
Debugging Your Application |
508 |
|
|
Universal Windows Platform |
508 |
|
|
Android |
508 |
|
|
iOS |
522 |
|
|
Summary |
526 |
|
|
Chapter 22: Mobile Applications Using JavaScript |
527 |
|
|
What Is Apache Cordova? |
528 |
|
|
Creating an Apache Cordova Project |
529 |
|
|
Merges Folder |
530 |
|
|
Plugins Folder |
531 |
|
|
www Folder |
531 |
|
|
Additional Files and Folders |
531 |
|
|
Debugging in Apache Cordova |
537 |
|
|
Summary |
540 |
|
|
Part VII: Cloud Services |
541 |
|
|
Chapter 23: Windows Azure |
543 |
|
|
The Windows Azure Platform |
544 |
|
|
The Compute Emulator |
546 |
|
|
Communicating between Roles |
547 |
|
|
Application Deployment |
550 |
|
|
SQL Azure |
553 |
|
|
Service Fabric |
555 |
|
|
Azure Mobile App |
557 |
|
|
Azure Virtual Machines |
558 |
|
|
Connectivity |
558 |
|
|
Endpoints |
558 |
|
|
Virtual Network |
559 |
|
|
Summary |
560 |
|
|
Chapter 24: Synchronization Services |
561 |
|
|
Occasionally Connected Applications |
562 |
|
|
Server Direct |
562 |
|
|
Getting Started with Synchronization Services |
566 |
|
|
Synchronization Services over N-Tiers |
570 |
|
|
Summary |
571 |
|
|
Chapter 25: SharePoint |
573 |
|
|
SharePoint Execution Models |
574 |
|
|
Farm Solution |
574 |
|
|
Sandbox Solution |
574 |
|
|
App Model |
575 |
|
|
Preparing the Development Environment |
575 |
|
|
Creating a SharePoint Project |
578 |
|
|
Running Your Application |
587 |
|
|
Summary |
589 |
|
|
Part VIII: Data |
591 |
|
|
Chapter 26: Visual Database Tools |
593 |
|
|
Database Windows in Visual Studio 2017 |
594 |
|
|
Server Explorer |
594 |
|
|
The Data Sources Window |
599 |
|
|
SQL Server Object Explorer |
600 |
|
|
Editing Data |
601 |
|
|
Redgate Data Tools |
602 |
|
|
ReadyRoll Core |
602 |
|
|
SQL Prompt Core |
607 |
|
|
SQL Search |
609 |
|
|
Summary |
611 |
|
|
Chapter 27: The ADO.NET Entity Framework |
613 |
|
|
What Is the Entity Framework? |
614 |
|
|
Getting Started |
615 |
|
|
Creating an Entity Model |
615 |
|
|
The Entity Data Model Wizard |
615 |
|
|
The Entity Framework Designer |
619 |
|
|
Creating/Modifying Entities |
624 |
|
|
Creating/Modifying Entity Associations |
627 |
|
|
Entity Inheritance |
629 |
|
|
Validating an Entity Model |
629 |
|
|
Updating an Entity Model with Database Changes |
629 |
|
|
Querying the Entity Model |
630 |
|
|
LINQ to Entities Overview |
630 |
|
|
Getting an Object Context |
631 |
|
|
CRUD Operations |
631 |
|
|
Navigating Entity Associations |
635 |
|
|
Advanced Functionality |
637 |
|
|
Updating a Database from an Entity Model |
637 |
|
|
Adding Business Logic to Entities |
637 |
|
|
Plain Old CLR Objects (POCO) |
638 |
|
|
Entity Framework Core |
638 |
|
|
Summary |
638 |
|
|
Chapter 28: Data Warehouses and Lakes |
639 |
|
|
What Is Apache Hadoop? |
639 |
|
|
Hadoop Distributed File System |
640 |
|
|
MapReduce |
640 |
|
|
Additional Components |
641 |
|
|
HDInsight |
641 |
|
|
Azure Data Lakes |
642 |
|
|
Data Lake Tools for Visual Studio |
642 |
|
|
Creating a Hive Application |
644 |
|
|
Creating a Pig Application |
648 |
|
|
Summary |
652 |
|
|
Chapter 29: Data Science and Analytics |
653 |
|
|
What Is R? |
654 |
|
|
R Tools for Visual Studio |
654 |
|
|
Debugging an R Script |
658 |
|
|
Workspaces |
661 |
|
|
Plotting Windows |
662 |
|
|
Summary |
664 |
|
|
Part IX: Debugging |
665 |
|
|
Chapter 30: Using the Debugging Windows |
667 |
|
|
The Code Window |
667 |
|
|
Breakpoints |
668 |
|
|
DataTips |
668 |
|
|
The Breakpoints Window |
668 |
|
|
The Output Window |
669 |
|
|
The Immediate Window |
670 |
|
|
The Watch Windows |
672 |
|
|
QuickWatch |
672 |
|
|
Watch Windows 1–4 |
673 |
|
|
Autos and Locals |
674 |
|
|
The Code Execution Windows |
674 |
|
|
Call Stack |
674 |
|
|
Threads |
675 |
|
|
Modules |
675 |
|
|
Processes |
676 |
|
|
The Memory Windows |
676 |
|
|
Memory Windows 1–4 |
677 |
|
|
Disassembly |
677 |
|
|
Registers |
678 |
|
|
The Parallel Debugging Windows |
679 |
|
|
Parallel Stacks |
679 |
|
|
Parallel Tasks |
681 |
|
|
Exceptions |
682 |
|
|
Summary |
685 |
|
|
Chapter 31: Debugging with Breakpoints |
687 |
|
|
Breakpoints |
687 |
|
|
Setting a Breakpoint |
688 |
|
|
Adding Break Conditions |
690 |
|
|
Working with Breakpoints |
692 |
|
|
Tracepoints |
694 |
|
|
Execution Control |
696 |
|
|
Stepping through Code |
696 |
|
|
Run to Cursor |
698 |
|
|
Moving the Execution Point |
698 |
|
|
Edit and Continue |
698 |
|
|
Rude Edits |
699 |
|
|
Stop Applying Changes |
699 |
|
|
Summary |
699 |
|
|
Part X: Build and Deployment |
701 |
|
|
Chapter 32: Upgra Ding With Visual Studio 2017 |
703 |
|
|
Upgrading from Recent Visual Studio Versions |
704 |
|
|
Upgrading to .NET Framework 4.6.2 |
707 |
|
|
Summary |
708 |
|
|
Chapter 33: Build Customization |
711 |
|
|
General Build Options |
711 |
|
|
Manual Dependencies |
714 |
|
|
The Visual Basic Compile Page |
715 |
|
|
Advanced Compiler Settings |
716 |
|
|
Build Events |
718 |
|
|
C# Build Pages |
721 |
|
|
MSBuild |
723 |
|
|
How Visual Studio Uses MSBuild |
723 |
|
|
The MSBuild Schema |
726 |
|
|
Assembly Versioning via MSBuild Tasks |
727 |
|
|
Summary |
729 |
|
|
Chapter 34: Obfuscation, Application Monitoring, and Management |
731 |
|
|
The IL Disassembler |
732 |
|
|
Decompilers |
733 |
|
|
Obfuscating Your Code |
735 |
|
|
Dotfuscator and Analytics |
735 |
|
|
Obfuscation Attributes |
740 |
|
|
Words of Caution |
742 |
|
|
Application Monitoring and Management |
744 |
|
|
Tamper Defense |
745 |
|
|
Application Instrumentation and Analytics |
746 |
|
|
Summary |
748 |
|
|
Chapter 35: Packaging and Deployment |
749 |
|
|
Windows Installer XML Toolset |
750 |
|
|
Building an Installer |
751 |
|
|
Using Heat to Create Fragments |
754 |
|
|
The Service Installer |
758 |
|
|
ClickOnce |
758 |
|
|
One Click to Deploy |
759 |
|
|
One Click to Update |
763 |
|
|
Summary |
765 |
|
|
Chapter 36: Web Application Deployment |
767 |
|
|
Web Deployment |
768 |
|
|
Publishing a Web Application |
768 |
|
|
Publishing to Azure |
771 |
|
|
Web Project Installers |
775 |
|
|
The Web Platform Installer |
777 |
|
|
Extending the Web Platform Installer |
778 |
|
|
Summary |
781 |
|
|
Chapter 37: Continuous Delivery |
783 |
|
|
Nomenclature |
784 |
|
|
Continuous Delivery |
784 |
|
|
Continuous Integration |
784 |
|
|
DevOps |
785 |
|
|
Continuous Delivery Tools |
785 |
|
|
Setting Up Continuous Delivery |
786 |
|
|
Heads Up Code Analysis |
788 |
|
|
Automatic Build Notifications |
789 |
|
|
Summary |
792 |
|
|
Part XI: Visual Studio Editions |
793 |
|
|
Chapter 38: Visual Studio Enterprise: Code Quality |
795 |
|
|
Dependency Verification |
796 |
|
|
Exploring Code with Code Maps |
800 |
|
|
Code Cloning |
802 |
|
|
Summary |
802 |
|
|
Chapter 39: Visual Studio Enterprise: Testing and Debugging |
803 |
|
|
Automated Tests |
804 |
|
|
Web Performance Tests |
804 |
|
|
Load Tests |
806 |
|
|
Coded UI Tests |
810 |
|
|
Generic Tests |
811 |
|
|
Ordered Tests |
811 |
|
|
IntelliTrace |
811 |
|
|
Diagnostic Tools |
814 |
|
|
IntelliTest |
816 |
|
|
Summary |
817 |
|
|
Chapter 40: Visual Studio Team Services |
819 |
|
|
Getting Started with Git |
820 |
|
|
Version Control |
824 |
|
|
Committing |
824 |
|
|
Branching |
825 |
|
|
Syncing |
825 |
|
|
Work Item Tracking |
826 |
|
|
Work Item Queries |
826 |
|
|
Work Item Types |
828 |
|
|
Adding Work Items |
828 |
|
|
Work Item State |
829 |
|
|
Builds |
829 |
|
|
Web Portal |
831 |
|
|
Summary |
832 |
|
|
Index |
833 |
|
|
EULA |
863 |
|