You are previewing Microsoft Visual Studio 2008 Unleashed.
O'Reilly logo
Microsoft Visual Studio 2008 Unleashed

Book Description

Microsoft® Visual Studio 2008 Unleashed is an end-to-end, deep dive into the Visual Studio development environment. It’s meant to provide you guidance on how you can squeeze the ultimate productivity out of the many features built into the .NET development tools. Understanding how to use your tools will make you a better developer. This book was written with that premise as its focus.

The authors have folded in real-world development experience alongside detailed information about the IDE. The result is practical, easy-to-employ information that will make you a more productive and complete developer. This book also helps to ease your transition from other development environments and former versions of Visual Studio.

Finally, this book provides an entire section dedicated to Visual Studio Team System. It will help you understand how the Team Architect, Team Developer, Team Database Developer, and Team Tester work with the Team Foundation Server to increase team collaboration, visibility, and productivity.

Microsoft® Visual Studio 2008 Unleashed provides straight, to-the-point answers to common developer questions about the IDE.

Detailed Information on…

  • What’s new in Visual Studio 2008

  • Working with solutions, projects, editors, and designers

  • Writing ASP.NET applications

  • Writing and consuming Web Services using Windows Communication Foundation (WCF)

  • Writing Windows Forms and Windows Presentation Foundation (WPF) applications

  • Creating and hosting workflow-based applications using Windows Workflow Foundation (WF)

  • Working with data and databases

  • Refactoring code

  • Debugging code

  • Automating the IDE

  • Writing macros, add-ins, and wizards

  • Using team collaboration and the Visual Studio Team System products

  • Managing source code changes

  • Tracking projects with Team Foundation Server and work items

  • Modeling applications

  • Performing unit, web, and load testing

  • Working with Team Foundation Build

  • Table of Contents

    1. Copyright
      1. Dedication
    2. About the Authors
    3. Acknowledgments
    4. We Want to Hear from You!
    5. Reader Services
    6. Introduction
      1. Who Should Read This Book?
      2. How Is This Book Organized?
        1. Part I: An Introduction to Visual Studio 2008
        2. Part II: An In-Depth Look at the IDE
        3. Part III: Writing and Working with Code
        4. Part IV: Extending Visual Studio
        5. Part V: Creating Enterprise Applications
        6. Part VI: Visual Studio Team System
      3. Conventions Used in This Book
    7. I. An Introduction to Visual Studio 2008
      1. 1. A Quick Tour of Visual Studio 2008
        1. Some Welcome Enhancements to the IDE
          1. Use a Single Tool for Many Jobs
          2. Cleaner Windows
            1. The IDE Navigator
            2. Improved Docking
            3. Standard Dialogs
            4. Choose Your Font
          3. Keep Your Settings
          4. Share (and Consume) Code with the Community
          5. Expanded Class Designer Support
        2. Develop User Applications
          1. Enhance the Web Developer’s Productivity
            1. Create a Richer Web Interface
            2. Work with an Expanded Toolbox
            3. Develop and Design at the Same Time
            4. Create and Manage Your Look
            5. Centrally Manage Navigation and Design
          2. Smarter Clients
            1. Designers and Developers
            2. Making a Choice
          3. Office-Based Solutions
            1. Develop Documents, Templates, and Add-Ins
            2. Create SharePoint Solutions
          4. Target Mobile Devices
        3. Write Connected, Service-Oriented Solutions
          1. Develop an Application/Business Process
          2. Create and Consume Services
        4. Work with Data
          1. Design Your Data
          2. Map Objects to Relational Data
          3. Build Occasionally Connected Applications
        5. The Visual Studio Product Line
          1. Express Editions
          2. Standard Edition
          3. Professional Edition
          4. Team Systems
            1. The Client Tools
            2. The Server
          5. The Expression Tools
        6. Summary
      2. 2. A Quick Tour of the IDE
        1. Installing Visual Studio
          1. Choosing a Language
          2. Configuring Your Development Environment
        2. The Start Page
          1. Startup Options
        3. Your First Project
        4. The Menu Bar
        5. The Many Toolbars
          1. The Standard Toolbar
          2. Customizing Toolbars
        6. The Toolbox
        7. The Visual Designers
        8. The Text Editors
          1. The Code Editors
            1. The C# Code Editor
            2. The Visual Basic Code Editor
          2. Editor Customizations
        9. The Solution Explorer
        10. The Properties Window
        11. Managing the Many Windows of the IDE
          1. Pinning
          2. Docking
        12. Summary
      3. 3. .NET Framework and Language Enhancements in 2008
        1. An Overview of the Visual Studio 2008 IDE Enhancements by .NET Language
          1. VB IDE Enhancements
          2. C# IDE Enhancements
        2. .NET Language Additions in 2008
          1. Infer a Variable’s Data Type Based on Assignment
          2. Create an Object and Set Its Properties with a Single Line of Code
          3. Add Methods to Existing Classes
          4. Create an Instance of a Nonexistent Class
          5. Write Simple, Unnamed Functions Within Your Code
          6. Add Business Logic to Generated Code
          7. Access and Query Data Using the .NET Languages
          8. Split an Assembly Across Multiple Files
          9. Work with XML Directly Within Your Code
          10. Remove Unused Arguments from Event Handlers (VB Only)
          11. Create an Automatically Implemented Property (C# Only)
        3. .NET Framework 3.5 Enhancements
        4. Summary
    8. II. An In-Depth Look at the IDE
      1. 4. Solutions and Projects
        1. Understanding Solutions
          1. Creating a Solution
            1. The Solution Definition File
          2. Working with Solutions
            1. Solution Items
            2. Solution Folders
            3. Solution Properties
              1. Specifying the Startup Project
              2. Setting Project Dependencies
              3. Source File Location for Debugging
              4. Build Configuration Properties
        2. Getting Comfortable with Projects
          1. Creating a Project
            1. Website Projects
          2. Working with Project Definition Files
          3. Working with Projects
            1. Project Items
            2. Project Properties
              1. Application
              2. Build
              3. Build Events
              4. Compile (VB Only)
              5. Debug
              6. Publish
              7. References (Visual Basic)
              8. Reference Paths (Visual C#)
              9. Resources
              10. Security
              11. Settings
              12. Signing
        3. Summary
      2. 5. Browsers and Explorers
        1. Solution Explorer
          1. Visual Cues and Icons
            1. Icon Overlays
          2. Managing Solutions
          3. Managing Projects
        2. Class View
          1. Toolbar
          2. Search Bar
          3. Objects Pane
          4. Members Pane
        3. Server Explorer
          1. Data Connections
          2. Server Components
            1. Event Logs
            2. Management Classes
            3. Management Events
            4. Message Queues
            5. Performance Counters
            6. Services
            7. Programming with Server Explorer
        4. Object Browser
          1. Changing the Scope
            1. Editing the Custom Component Set
          2. Browsing Objects
            1. Description Pane
        5. Document Outline
          1. Editing Elements
        6. Summary
      3. 6. Introducing the Editors and Designers
        1. The Basics
          1. The Text Editor
            1. Line Wrapping and Virtual Space
          2. Visual Studio Designers
        2. Coding with the Code Editor
          1. Opening an Editor
          2. Writing Code in the Code Editor
          3. Anatomy of the Code Editor Window
            1. The Code Pane
            2. The Indicator Margin
            3. The Selection Margin
          4. Code Navigation Tools
            1. Line Numbering
            2. Bookmarks
              1. Bookmark Folders
          5. Searching Documents
            1. Quick Find/Quick Replace
              1. Fine-Tuning Your Search
              2. Finding Search Results
              3. Replacing Text
            2. Find In Files/Replace In Files
              1. Building Search Folder Sets
              2. The Find Results Window
              3. Replacing In Files
            3. Find Symbol
            4. Incremental Search
          6. Debugging in the Text Editor
            1. Setting a Breakpoint
            2. Configuring a Breakpoint
            3. Controlling the Flow of Running Code
          7. Printing Code
            1. Colors and Fonts
          8. Using the Code Definition Window
        3. Creating and Editing XML Documents and Schema
          1. Inferring Schema
          2. Editing XSLT Style Sheets
            1. Running XSLT Against XML
        4. Working with Cascading Style Sheets
          1. Adding Style Rules
          2. Defining Style Sheet Attributes
        5. Developing Windows Client Applications
          1. Creating a Windows Forms Project
            1. Customizing the Form’s Appearance
            2. Adding Controls to a Form
              1. The Toolbox
              2. Arranging Controls
                1. Using the Layout Grid
                2. Using Snap Lines
              3. Resizing Controls and Editing Attributes
            3. Writing Code
          2. Creating a Windows Presentation Foundation Project
            1. Using the Split Panes
            2. Adding Controls
        6. Developing Web Forms
          1. Designing a Web Form Application
            1. Adding and Arranging Controls
            2. Editing Markup
              1. Working with Tables
              2. Formatting Options
            3. Managing Styles and Style Sheets
            4. Browser Output and Validation
              1. Standards Compliance
        7. Authoring Components and Controls
          1. Creating a New Component or Control
          2. Further Notes on Writing Component Code
        8. Summary
      4. 7. The .NET Community: Consuming and Creating Shared Code
        1. The Community Features of Visual Studio
          1. The Visual Studio Start Page
            1. Recent Projects
            2. Getting Started
            3. Visual Studio Headlines
            4. Start Page News Channel
              1. Customizing the News Channel
          2. The Help Menu
            1. MSDN Forums
              1. Starting a New Thread
              2. Navigating Forums and Topics
              3. Managing Your Thread/Topic Alerts
            2. Customer Feedback Options
              1. Report a Bug or Make a Suggestion
            3. Search
              1. Managing Search Options
              2. Codezone Community
        2. Discovering and Consuming Shared Content
          1. Examining Shared Content Types
          2. Finding the Right Content
          3. Installing and Storing Shared Content
        3. Participating in the Community
          1. Creating Shared Items (Project and Item Templates)
          2. Creating Project Templates
            1. Step 1: Create Your Project
            2. Step 2: Determine Project Parameters
              1. Defining Custom Parameters
            3. Step 3: Export Your Template
            4. Step 4 (Optional): Edit the .vstemplate XML
            5. Installing the Template
          3. Creating Item Templates
          4. Packaging Your Creation
            1. The Elements of a VSContent File
              1. Using Attributes to Define VSTemplates and Code Snippets
            2. An Example: Packaging a Macro
              1. Step 1: Create the VSContent File
              2. Step 2: Gather Files That Define Your Creation
              3. Step 3: Compress (Zip) Files
              4. Step 4: Rename the .zip File to .vsi
              5. Installing the Sample Content
          5. Publishing Your Creation
        4. Summary
    9. III. Writing and Working with Code
      1. 8. Working with Visual Studio’s Productivity Aids
        1. Basic Aids in the Text Editor
          1. Change Tracking
          2. Coding Problem Indicators
          3. Active Hyperlinking
          4. Syntax Coloring
        2. Outlining and Navigation
          1. Code Outlining
            1. Using the Outlining Menu
          2. HTML Navigation
            1. Using the Tag Navigator
            2. Using the Document Outline Window
        3. Smart Tags and Smart Tasks
          1. HTML Designer
          2. Windows Forms Designer
          3. Code Editor
        4. IntelliSense
          1. Complete Word
          2. Quick Info
          3. List Members
          4. Parameter Info
          5. Organize Usings
          6. Code Snippets and Template Code
            1. Using the Code Snippet Inserter
            2. Surrounding Code with Snippets
            3. Creating Your Own Code Snippets
              1. The XML Snippet Format
              2. Adding a Snippet to Visual Studio
            4. Snippets in the Toolbox
          7. Brace Matching
          8. Customizing IntelliSense
        5. The Task List
          1. Comment Tasks
            1. Custom Comment Tokens
          2. Shortcut Tasks
          3. User Tasks
        6. Summary
      2. 9. Refactoring Code
        1. Visual Studio Refactoring Basics
          1. Invoking the Refactoring Tools
            1. Using the Refactor Menu (and Right-Click)
            2. Refactoring in the Code Window via Smart Tags
            3. Using the Class Designer to Refactor
          2. Previewing Changes
        2. Rename
          1. Accessing the Rename Operation
          2. Working with the Rename Dialog Box
        3. Extract Method
          1. Accessing the Extract Method Refactor
          2. Extracting Methods
            1. Extracting a Single Line of Code
          3. Generate Method Stub
        4. Extract Interface
          1. Accessing the Extract Interface Refactor
          2. Extracting Interfaces
        5. Refactor Parameters
          1. Remove Parameters
          2. Promote Local to Parameter
            1. Some Promoting Tips
          3. Reorder Parameters
        6. Encapsulate Field
          1. Accessing Encapsulate Field
          2. The Encapsulate Field Dialog Box
        7. Summary
      3. 10. Debugging Code
        1. Debugging Basics
          1. The Scenario
          2. The Many Phases of Debugging
          3. Debugging the Application (Self-Checking)
            1. Enabling Debugging on a Website
            2. Starting in Debug Mode
            3. Breaking on an Error
            4. Debugging an Error
              1. Debugging Different Processes
              2. Setting a Breakpoint
              3. Continuing the Debugging
              4. Stepping to Find the Error
          4. Debugging Basics Summary
        2. The Visual Studio Debugger
          1. The Debug Menu and Toolbar
            1. The Debug Toolbar
          2. Debug Options
          3. Stepping In, Out, and Over Code
            1. Beginning a Debug Session (Stepping into Code)
              1. Run to Cursor
              2. Start Debugging
              3. Break All
            2. Walking Through Your Code
              1. Step Into
              2. Step Over
              3. Step Out
            3. Continuing Execution
            4. Ending a Debug Session
          4. Indicating When to Break into Code
            1. Setting a Breakpoint
              1. Setting a Function Breakpoint
            2. Recognizing the Many Breakpoints of Visual Studio
            3. Working with the Breakpoints Window
              1. The Breakpoints Window Toolbar
              2. Managing Each Individual Breakpoint
            4. Breaking Based on Conditions
              1. Setting a Breakpoint Condition
              2. Breaking on Location
              3. Setting a Breakpoint Filter
              4. Using a Hit Count with a Breakpoint
          5. Working with Tracepoints (When Hit Option)
          6. Viewing Data in the Debugger
            1. Watching Variables
              1. Locals Window
              2. The Autos Window
              3. The Watch Windows
              4. QuickWatch
            2. DataTips
            3. Visualizing Data
          7. Using the Edit and Continue Feature
        3. Advanced Debugging Scenarios
          1. Remote Debugging
          2. Debugging WCF Services
            1. Stepping Into a WCF Service
            2. Attaching to a WCF Service
          3. Debugging Multithreaded Applications
            1. Discovering and Flagging Threads
            2. Managing Debug Processes and Threads
            3. Breaking Based on a Specific Thread
          4. Debugging a Client-Side Script
        4. Summary
    10. IV. Extending Visual Studio
      1. 11. Introducing the Automation Object Model
        1. An Overview of the Automation Object Model
          1. Object Model Versions
          2. Automation Categories
          3. The DTE/DTE2 Root Object
        2. Solution and Project Objects
          1. Controlling Projects in a Solution
          2. Accessing Code Within a Project
        3. Windows
          1. Referencing Windows
          2. Interacting with Windows
          3. Text Windows and Window Panes
          4. The Tool Window Types
            1. Tasks and the Task List Window
            2. The Toolbox
            3. Executing Commands in the Command Window
            4. Output Window
          5. Linked Windows
        4. Command Bars
        5. Documents
          1. Text Documents
            1. Editing Text Documents
              1. Adding Text
              2. Editing Text
              3. Repositioning an EditPoint
        6. Command Objects
          1. Executing a Command
          2. Mapping Key Bindings
        7. Debugger Objects
        8. Automation Events
        9. Summary
      2. 12. Writing Macros
        1. Recording a Macro
        2. Using the Macro Explorer
        3. Writing Macros with the Macro IDE
          1. Working with Macro Projects
            1. Sharing Macros
            2. Adding a Project
          2. Writing a Macro
          3. Debugging
          4. Handling Events
            1. Writing the Event Handler
            2. Adding a New Event Declaration
            3. Initializing the Event Object
          5. Invoking Macros
            1. Triggering Macros from Toolbars and Menus
            2. Assigning Keyboard Shortcuts to Macros
            3. Running Macros from the Command Window
              1. Macros with Parameters
        4. Summary
      3. 13. Writing Add-ins and Wizards
        1. Creating Your First Add-in Project
          1. Setting Add-in Parameters
            1. Selecting a Language
            2. Picking an Application Host
            3. Describing the Add-in
            4. Setting Add-in Options
            5. Setting About Box Information
            6. Finishing the Wizard
        2. The Structure of an Add-in
          1. The Life Cycle of an Add-in
            1. OnAddInsUpdate
            2. OnBeginShutdown
            3. OnConnection
            4. OnDisconnection
            5. OnStartupComplete
          2. Reacting to Commands
          3. Managing Add-ins
            1. Add-in Automation Objects
        3. A Sample Add-in: Color Palette
          1. Getting Started
          2. Creating the User Control
            1. Handling Movement over the Palette
            2. Looking at the Code Generation Properties
            3. Implementing the Helper Routines
            4. Signaling a Color Selection
          3. Finishing the Connect Class
            1. Displaying the Tool Window and User Control
            2. Capturing User Control Events
            3. Inserting the Generated Code
          4. Exposing Add-in Settings
            1. Creating the Option Page UI
            2. Registering the Options Page
        4. Creating a Visual Studio Wizard
          1. Examining the Wizard Structure
            1. The IDTWizard Interface
            2. The .vsz and .vsdir Files
          2. Creating an Add New Item Wizard
            1. Implementing the Execute Method
              1. Creating the Dialog Box
              2. Using a Template File
              3. Executing the Wizard
            2. Creating the .vsz and .vsdir Files
        5. Summary
    11. V. Creating Enterprise Applications
      1. 14. Creating ASP.NET Applications
        1. The Basics of an ASP.NET Website
          1. Creating a New Web Application Project
            1. Selecting a Visual Studio Website Template
            2. Choosing a Website Location
              1. File System
              2. Local IIS
              3. FTP Site
              4. Remote HTTP Site
            3. Choosing a Default Programming Language
            4. Understanding the File Makeup of Your Website
              1. Directories
              2. Files
          2. Controlling Project Properties and Options
            1. References
              1. Adding a New Reference
            2. Build
              1. Start Action
              2. Target Framework
              3. Build Solution Action
              4. Accessibility Validation
            3. Accessibility
            4. Start Options
              1. Start Action
              2. Server
              3. Debuggers
            5. MSBuild Options
          3. Creating Web Pages
            1. Adding a Web Page to Your Website
            2. Adding Controls to Your Web Page
            3. Responding to Events
              1. Adding Page Event Handlers
              2. Adding Control Event Handlers
        2. Designing Your User Interface
          1. Determining Page Layout and Control Positioning
            1. Setting How Controls Are Positioned
          2. Creating a Common Look and Feel
            1. Styles and Style Sheets Basics
              1. Inline Styles
              2. Page-Level Styles
              3. Element Styles (Style Rules)
              4. Style Sheets
            2. The Style Toolset
              1. Creating a Style Sheet
              2. Building a Style
              3. Creating a Style Rule
              4. Managing Styles
              5. Applying a Style
              6. Editing Styles
            3. Master Pages
              1. Creating a Master Page
              2. Creating a Content Page
              3. Nesting Master Pages
            4. Themes and Skins
              1. Creating a Theme
              2. Creating a Skin File
              3. Applying a Theme to a Site or Page
          3. Creating a User-Configurable UI
            1. Working with the Web Part Controls
            2. Creating a Web Part Page
              1. Defining Zones
              2. Adding Web Parts to Zones
              3. Enabling Users to Configure the Page
        3. Working with the ASP.NET Controls
          1. An Overview of the ASP.NET Controls
            1. The ASP.NET Control Features
          2. The ASP.NET Standard Controls
          3. Validation Controls
          4. The Login Controls
            1. Configuring User Authentication
          5. Site Navigation Controls
            1. Using the SiteMapPath Control
          6. Data Controls
          7. User Controls
        4. Summary
      2. 15. Building Windows Forms Applications
        1. The Basics of Form Design
          1. Considering the End User
            1. Location and Culture
          2. Understanding the Role of UI Standards
            1. De Facto Standards
          3. Planning the User Interface
            1. Preliminary Design
        2. Creating a Form
          1. The Windows Forms Application Project Type
            1. Setting the Startup Form
            2. Inheriting Another Form’s Appearance
          2. Form Properties and Events
            1. Startup Location
            2. Appearance
            3. Form Events
              1. Creating an Event Handler
        3. Adding Controls and Components
          1. Control Layout and Positioning
            1. Anchoring
            2. Docking
            3. Control Auto Scaling
          2. Using Containers
            1. The TableLayoutPanel
            2. The FlowLayoutPanel
            3. The SplitContainer
            4. The ToolStripContainer
          3. Control Appearance and Behavior
            1. Visual Styles
            2. Tab Order
            3. ToolTips
          4. Working with ToolStrip Controls
            1. Creating a Menu
            2. Creating a Toolbar
            3. Creating a Status Bar
              1. Editing the StatusStrip Items
          5. Displaying Data
            1. Hierarchical Data
              1. The TreeNode Editor
              2. Using an ImageList
            2. Tabular Data
              1. Data Sources
              2. Cell Types
        4. Creating Your Own Controls
          1. Subclassing an Existing Control
            1. Working with an Inherited Control
          2. Designing a User Control
            1. Adding Controls
            2. Embedding the User Control
          3. Creating a Custom Control
        5. Summary
      3. 16. Creating Richer, Smarter User Interfaces
        1. The Windows Presentation Foundation Platform
          1. Programming Model
            1. Extensible Application Markup Language (XAML)
              1. Syntax Simplicity
              2. Collaboration
        2. Introducing the WPF Designer
          1. XAML and Design Panes
            1. The Property Window
            2. The Zoom Control
        3. Programming with WPF
          1. Layout
            1. The Canvas Control
            2. The DockPanel Control
            3. The Grid Control
            4. The StackPanel Control
          2. Styles and Templates
          3. Data Binding
          4. Routed Events
        4. Building a Simple Image Viewer Application
          1. Starting the Layout
          2. Storing the Images
          3. Binding to the Images
          4. Button Event Handlers and Image Effects
          5. Path Selection with a Common Dialog
        5. Summary
      4. 17. Creating Rich Browser Applications
        1. Building Active Client Applications in Standard Browsers
          1. The ASP.NET AJAX Controls
          2. Creating an AJAX Page
            1. Partial-Page Update
            2. Show Server Progress to the User
          3. The ASP.NET AJAX Control Toolkit Open-Source Library
            1. Getting Started
            2. The Controls in the AJAX Control Toolkit
            3. Using the Toolkit Controls on a Page
        2. Creating Unique, Rich Experiences on Windows via the Browser
          1. Choosing Between WPF Standalone and WPF XBAP
          2. Creating a WPF Browser Application
          3. Security Considerations
            1. Security and Site Navigation
          4. Deploying a WPF Browser Application
        3. Delivering Interactive Experiences Across Platforms
          1. Getting Started with Silverlight
          2. Creating a Silverlight Application
            1. Defining a New Silverlight Project
            2. Building an Application
          3. Using Silverlight on a Web Page
        4. Summary
      5. 18. Working with Databases
        1. Creating Tables and Relationships
          1. Creating a New SQL Server Database
            1. Adding an Existing Database
          2. Defining Tables
            1. Setting a Primary Key
            2. Creating Indexes, Foreign Keys, and Check Constraints
          3. Using the Database Diagram Designer
            1. Creating a Database Diagram
            2. Modifying Table Definitions
            3. Building Table Relationships
              1. One-to-One Relationships
              2. Many-to-Many Relationships
              3. Reflexive Relationships
        2. Working with SQL Statements
          1. Writing a Query
            1. Fine-Tuning the SQL Statement
            2. Specifying Joins and Join Types
            3. Other Query Types
          2. Creating Views
          3. Developing Stored Procedures
            1. Using the SQL Editor with the Query/View Designer
            2. Debugging Stored Procedures
          4. Creating Triggers
          5. Creating User-Defined Functions
        3. Using Database Projects
          1. Creating a Database Project
          2. Auto-Generating Scripts
            1. Create Scripts
            2. Change Scripts
          3. Executing a Script
            1. Database References
        4. Creating Database Objects in Managed Code
          1. Starting a SQL Server Project
          2. Creating a Stored Procedure in C#
            1. Building and Deploying the Stored Procedure
        5. Binding Controls to Data
          1. An Introduction to Data Binding
            1. Simple Data Binding
            2. Complex Data Binding
          2. Auto-Generating Bound Windows Forms Controls
            1. Selecting a Data Source
            2. Mapping Data Sources to Controls
              1. Customizing Data-Source Mappings
          3. Editing Typed DataSets
          4. Manually Binding Windows Forms Controls
            1. Binding the DataGridView
              1. Customizing Cell Edits
            2. Binding Other Controls
          5. Data Binding with Web Controls
            1. Selecting a Data Control
              1. Using the GridView
              2. Updating Data with the GridView
            2. Data-Source Controls
        6. Object Relational Mapping
          1. An Overview of LINQ
          2. Mapping Using the O/R Designer
            1. Adding Database Entities
          3. LINQ Code
            1. Working with LINQ Objects
        7. Summary
      6. 19. Service-Oriented Applications
        1. Service Fundamentals
          1. Why ASP.NET Web Services and WCF
        2. ASP.NET Web Service Applications
          1. The ASP.NET Web Service Project Template
            1. Web Service Files
          2. Creating an ASP.NET Web Service
            1. The WebService Attribute Class
            2. The WebService Class
            3. The WebMethod Attribute Class
            4. Viewing the Formal Web Service Description
            5. Viewing the Web Method
            6. Invoking the Web Method
          3. Consuming an ASP.NET Web Service
            1. Defining a Service Reference
            2. Viewing the Web Reference
            3. Calling the Web Service
          4. Managing ASP.NET Web Service Exceptions
            1. Creating a Web Service Exception
        3. WCF Service Applications
          1. The WCF Project Template
            1. WCF Service Library Files
          2. Creating a WCF Service
            1. Running and Testing Your WCF Service
          3. Configuring a WCF Service
          4. Consuming a WCF Service
          5. Hosting and Deploying a WCF Service
        4. Summary
      7. 20. Embedding Workflow in Your Applications
        1. Windows Workflow Fundamentals
          1. The Components of a Workflow
          2. Workflow Project Templates
          3. The Workflow Designer
            1. The Workflow Properties Window
            2. The Workflow Toolbar
          4. The Workflow Item Templates
          5. The Workflow Activities
        2. Creating a Sequential Workflow
          1. Designing the Workflow
            1. Configure the CallExternalMethod Activities
          2. Configure a CodeActivity
          3. Configure the IfElse Activities and Use the RuleConditionEditor
          4. Configure an InvokeWebService Activity
          5. Configure the HandleExternalEvent Activities
          6. Defining the Workflow Host and Client
            1. The Client
            2. The Host
            3. Passing Parameters to the Workflow
            4. Setting Up Code for the Workflow to Call
            5. Raising Events from the Client to the Workflow
          7. Running Your Workflow
            1. Debug a Workflow
        3. Creating a State Machine Workflow
          1. Designing a State Machine Workflow
          2. Initializing and Transitioning States
            1. Design the Submitted State
            2. Configure the Submitted State
            3. Design and Configure the Approved State
            4. Design and Configure the Rejected State
            5. Design and Configure the Paid State
          3. Defining the Client and Host
          4. Running the State Machine Workflow
        4. Summary
      8. 21. Developing Office Business Applications
        1. An Overview of Office Extension Features
          1. Office Features
            1. Task Panes and Actions Panes
            2. Data Cache
            3. Ribbon
            4. Smart Tags
          2. Visual Studio Office Project Types
        2. Creating an Office Add-in
          1. Customizing the Ribbon
            1. Adding Items to the Ribbon
            2. Handling Ribbon Control Events
          2. Customizing the Task Pane
          3. Creating Outlook Form Regions
        3. Creating an Office Document Extension
          1. Hosting Controls
            1. Windows Forms Controls
            2. Host Controls
          2. Creating an Actions Pane
            1. Controlling Stacking Behavior
          3. Storing Data in the Data Cache
            1. Accessing the Data Cache
          4. Implementing Your Own Smart Tags
        4. Summary
    12. VI. Visual Studio Team System
      1. 22. Team Collaboration and Visual Studio Team System
        1. A View of Software Development Projects
          1. MSF Agile
            1. The MSF Agile Process Model
            2. The MSF Agile Team Model
          2. MSF for CMMI
            1. The MSF for CMMI Process Model
            2. The MSF for CMMI Team Model
        2. Introducing the Visual Studio Team System
          1. Visual Studio Team System Architecture Edition
          2. Visual Studio Team System Development Edition
            1. Static Code Analysis
            2. Dynamic Code Analysis and Code Profiling
            3. Code Metrics
            4. Code Coverage and Unit Testing
          3. Visual Studio Team System Test Edition
            1. Creating Tests
              1. Load Tests
          4. Visual Studio Team System Database Edition
            1. Unit Test
            2. T-SQL Editor
            3. Database Projects
            4. Schema and Data Changes
          5. Team Foundation Server
            1. Source Control
            2. Work Item Tracking
            3. Build Automation
            4. Reports
            5. The Project Portal
        3. Summary
      2. 23. Managing and Working with Team Projects
        1. Anatomy of Team Foundation Server
          1. The Application Tier
          2. The Data Tier
          3. Security
            1. Global Security Groups
            2. Project Security Groups
              1. Project Administrators
              2. Contributors
              3. Readers
            3. Mapping Roles to Groups
        2. Managing a Team Project
          1. Creating a New Team Project
            1. Selecting a Team Project Name
            2. Selecting a Process Template
            3. Naming the Project Portal
            4. Specifying Source Control Settings
            5. Confirming Your Settings
          2. Adding Users to a Project Team
            1. Working with the Team Explorer Window
              1. Team Project Folders
              2. Team Explorer Favorites
            2. Controlling Project Groups
              1. Adding Users to a Group
              2. Adding Custom Groups
              3. Fine-tuning Permissions
          3. Controlling Project Structure and Iterations
            1. Adding or Changing Project Areas
            2. Adding or Changing Iterations
        3. Contributing to a Project Team
          1. Connecting to a Team Foundation Server
          2. Using Team Explorer
          3. Using the Project Portal
            1. Process Guidance
          4. Using Microsoft Office
            1. Managing Work Items with Project and Excel
          5. Using Project Alerts
          6. Working with Project Reports
            1. Using the Data Warehouse
            2. Designing Reports
        4. Summary
      3. 24. Source Control
        1. The Basics of Team Foundation Source Control
          1. Basic Architecture
          2. Security Rights and Permissions
        2. Getting Started with Team Foundation Source Control
          1. Configuring Visual Studio
          2. Using the Source Control Explorer Window
            1. The Toolbar
            2. The Folders Pane
            3. The Files Pane
          3. Managing Workspaces
            1. Creating a Workspace
          4. Adding Files to Source Control
        3. Editing Files Under Source Control
          1. Retrieving a File from the Source Repository
          2. Checking in Your Changes
            1. Checking Changes with the Pending Changes Window
            2. Understanding Check-In Policies
            3. Adding a Check-in Note
            4. Using Work Items
          3. Understanding the Concept of Changesets
          4. Shelving Your Code
            1. Unshelving Files
          5. Merging Changes
            1. Comparing File Differences
            2. Using the Merge Tool
        4. Branching and Merging
          1. Branching
          2. Merging
        5. Summary
      4. 25. Work Item Tracking
        1. Understanding Work Items
          1. Understanding the Role of Work Items and the SDLC
          2. Picking the Work Item Set for Your Project
            1. MSF for Agile Work Items
              1. Scenario Work Item
              2. Quality of Service (QoS) Requirement Work Item
              3. Task Work Item
              4. Bug Work Item
              5. Risk Work Item
            2. MSF for CMMI Work Items
              1. Requirement Work Item
              2. Task Work Item
              3. Change Request Work Item
              4. Risk Work Item
              5. Review Work Item
              6. Bug Work Item
              7. Issue Work Item
          3. Identifying Work Item Commonalities
            1. Work Item Areas and Iterations
              1. Areas
              2. Iterations
            2. Work Item States and Transitions
            3. Tracking Work Item History
            4. Linking Work Items
            5. Attaching Files
        2. Using Team Explorer to Manage Work Items
          1. Creating a New Work Item
          2. Finding and Filtering Work Items
            1. Running a Query and Viewing Results
            2. Creating a Custom Query
        3. Understanding Team Role Perspectives
          1. Project Vision
          2. Project Manager
            1. Identifying the PM’s Work Items
            2. Using Excel
              1. Viewing Open Issues
              2. Creating a Risk List
            3. Using Project
          3. Business Analyst
          4. Developer
            1. Associating Code and Work Items Through Check-In
            2. Linking Code to Work Items
          5. Tester
        4. Customizing Work Items
          1. Seeding the Process with Work Items
            1. Downloading (Exporting) a Methodology
            2. Adding Work Items to the Methodology
            3. Uploading (Importing) the Methodology
          2. Customizing an Existing Work Item
        5. Summary
      5. 26. Development Edition
        1. Visually Developing Code
          1. The Class Designer
            1. Creating a Class Diagram
            2. Displaying Members
          2. Adding Items to the Diagram
          3. Defining Relationships Between Classes
            1. Inheritance
            2. Interface
            3. Association
          4. Defining Methods, Properties, Fields, and Events
        2. Developer Unit Testing
          1. A Sample Unit Test
          2. Writing Effective Unit Tests
          3. Using Unit Test Classes and Methods
          4. Creating Unit Tests
          5. Running Unit Tests
            1. Viewing Test Results
          6. Code Coverage Analysis
            1. Configuring Code Coverage
            2. Evaluating Code Coverage
        3. Performance Profiling
          1. Creating a Performance Session
          2. Configuring a Session
            1. General Properties
            2. Launch Properties
            3. Sampling Properties
            4. Binary Properties
            5. Instrumentation Properties
            6. CPU Counters Properties
            7. Windows Events Properties
            8. Windows Counters Properties
            9. Advanced Properties
          3. Session Targets
            1. Launch Properties
            2. Instrumentation Properties
            3. Advanced Properties
          4. Reports
          5. Understanding Performance Reports
            1. Summary Subreport
            2. Functions Subreport
            3. Caller/Callee Subreport
            4. Hotpathing with the Call Tree Subreport
            5. Allocation Subreport
            6. Objects Lifetime Subreport
            7. Report Comparison
        4. Code Analysis
          1. Configuring Rules to Enforce
          2. Treating Rule Violations as Coding Errors
          3. Treating Rule Violations as Coding Errors
          4. Suppressing Rules
          5. Doing the Analysis
          6. Viewing the Results
          7. Prescriptive Guidance for Remediation
        5. Code Metrics
          1. The Measurements
          2. Running Code Metrics
          3. Working with the Results
        6. Summary
      6. 27. Architecture Edition
        1. Team Architect Artifacts
          1. Project Templates
          2. Item Templates
        2. Designing Your Application
          1. Working with the Application Diagram
            1. The Diagram Menu
            2. Application Designer Toolbox
            3. The Application Diagram
              1. Adding Applications
              2. Connecting Applications
            4. Application Settings and Constraints
              1. Application Properties
              2. Web Service Settings
        3. Defining a System
          1. System Diagram
            1. Creating Proxy Endpoints
            2. Connecting Applications to Systems
        4. Defining Your Infrastructure
          1. Logical Datacenter Diagram
            1. Logical Datacenter Diagram Toolbox
            2. Defining Zones
            3. Adding Servers
            4. Connecting Servers and Zones
            5. Defining Settings and Constraints
              1. Configuring a Zone
              2. Configuring a Server
              3. Importing Server Settings
        5. Deploying Your Application
          1. Deployment Diagram
          2. Validating Deployment
          3. Deployment Report
        6. Implementing Your Application
          1. Setting Implementation Properties
          2. Generating Projects
        7. Summary
      7. 28. Test Edition
        1. Creating, Configuring, and Managing Tests
          1. Test Projects
            1. Creating a Test Project
            2. Configuring the Creation of Test Projects
          2. Test Items
          3. Managing Tests
            1. Lists of Tests
          4. Testing Configuration
        2. Web Testing
          1. Recording a Web Test
          2. Managing Web Test Requests
          3. Running the Web Test and Viewing Results
          4. Seeding a Web Test with Data
            1. Defining the Web Test Data Source
            2. Binding Form Posts to Data
            3. Binding Query Strings to Data
          5. Extracting Values from Web Tests
            1. Linking Pages with Extracted Values
          6. Requesting Validation Rules
        3. Load Testing
          1. Creating a Load Test
            1. Starting the New Load Test Wizard
            2. Defining Your Load Scenario
            3. Defining a Load Pattern for Your Test
            4. Choosing the Test Mix to Simulate Load
            5. Indicating a Browser Mix
            6. Indicating a Network Mix
            7. Choosing Computers to Monitor
            8. Indicating Execution Timings and Run Settings
          2. Reviewing and Editing a Load Test
          3. Running Load Tests and Reviewing Results
        4. Manual Tests
          1. Creating a Manual Test
          2. Executing a Manual Test
        5. Generic Tests
        6. Ordered Tests
          1. Creating an Ordered Test
        7. Summary
      8. 29. Database Edition
        1. The Database Project System
          1. Creating a Database Project
            1. Project Properties
            2. Database Options
            3. Import Database Schema
            4. Configure Build and Deploy
          2. The Schema View
        2. Comparing Schemas
          1. Viewing Object Definitions
          2. The Schema Update Script
            1. Executing the Update Script
          3. Comparison Options
        3. Comparing Data
          1. Viewing Record-Level Details
          2. Previewing and Executing the Update Script
        4. Rename Refactoring
          1. Rename Options
          2. Previewing the Schema Changes
        5. Unit Tests
          1. Creating Unit Tests
            1. Creating a Test Project
          2. The Database Unit Test Designer
            1. Running the Database Unit Test
        6. Generating Data
          1. Creating a Data Generation Plan
            1. Table Ratios
          2. Previewing the Generated Data
            1. Configuring the Data Generators
              1. Changing Generator Properties
            2. Using a Complex Generator
          3. Generating the Data
        7. Building and Deploying
        8. Summary
      9. 30. Team Foundation Build
        1. An Overview of Team Foundation Build
          1. Team Foundation Build Architecture
            1. The Team Build Client
            2. The Application Tier
            3. The Build Agents
            4. The Build Repository
        2. Creating a New Build
          1. Naming the Build
          2. Selecting Project Files to Build
          3. Defining the Build Project File
            1. Setting Build Order
            2. Defining Build Configurations
            3. Selecting Build Analysis and Tests
          4. Defining the Build Retention Policy
          5. Defining the Build Agent Configuration
          6. Scheduling the Build or Setting Build Triggers
        3. Editing a Build Definition
          1. The TFSBuild.proj Project File
          2. The Role of MSBuild
        4. Starting a Build
        5. Monitoring and Analyzing Builds
          1. Introducing the Team Build Explorer
            1. Setting a Build’s Quality State
          2. The Build Report
        6. Summary