Home > Store

Microsoft Visual Studio 2010 Unleashed, Portable Documents

Register your product to gain access to bonus material or receive a coupon.

Microsoft Visual Studio 2010 Unleashed, Portable Documents

eBook (Watermarked)

  • Your Price: $38.39
  • List Price: $47.99
  • About Watermarked eBooks
  • This PDF will be accessible from your Account page after purchase and requires the free Adobe® Reader® software to read it.

    The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

    Watermarked eBook FAQ


  • Copyright 2010
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-212101-8
  • ISBN-13: 978-0-13-212101-9

This end-to-end deep dive into Microsoft Visual Studio 2010 Professional will help working developers squeeze maximum productivity out of Visual Studio 2010’s extraordinarily rich toolbox, whether they are writing code for the Web, Windows, Silverlight, or Microsoft’s Azure cloud computing environment.

The authors combine authoritative and detailed information about Microsoft’s latest IDE, with extensive insights and best practices drawn from decades of development experience. Developers will learn how to use Visual Studio 2010 Professional to take full advantage of the entire .NET platform, including Windows Presentation Foundation (WPF) for rich client development, Windows Communication Foundation (WCF) for building dynamic service-oriented solutions, and Windows Workflow Foundation (WF) for structured programming around business processes. The authors also present extensive new coverage of Microsoft’s powerful new tools for unit testing, application instrumentation, and code analysis.

By focusing entirely on Visual Studio 2010 Professional, the authors have gone deeper into Microsoft’s core product than ever before. Throughout, their focus is relentlessly practical: how to apply Microsoft’s tools to build better software, faster.

Detailed information on how to...

  • Work with solutions, projects, browsers, explorers, editors, and designers
  • Write better macros, add-ins, and wizards
  • Save more time with Visual Studio 2010’s updated productivity tools
  • Instrument, analyze, and test your software
  • Refactor code for greater robustness, maintainability, and performance
  • Share code with team members and the larger community
  • Write powerful ASP.NET, ASP.NET MVC, and Silverlight web applications
  • Implement robust service oriented architecture (SOA)–based applications
  • Efficiently consume services with WCF
  • Write advanced Windows applications with Windows Forms and WPF
  • Construct data-centric applications with LINQ and Entity Framework
  • Create and host workflow-based applications with WF
  • Write applications for the Azure cloud
  • Extend Visual Studio with the new Managed Extensibility Framework (MEF) and the Automation Object Model
  • Build better object-oriented VB or C# software, and use new dynamic language features

Sample Content

Table of Contents


Part I An Introduction to Visual Studio 2010

Chapter 1 A Quick Tour of Visual Studio 2010

The Visual Studio Product Line

Express Editions

Professional Edition




Related Tools

Languages, Frameworks, and Application Templates

Programming Language Choices

The .NET Framework(s)

The Many Faces of a .NET Application

Developing Rich(er) Clients

Windows (WinForms)

Windows Presentation Foundation (WPF)

Office-Based Solutions

Creating Web Clients

Building Websites with ASP.NET

Adding Richer Features with AJAX

Developing for Silverlight

Making the Client Choice

Coding for the Cloud

Creating a Cloud Application

Running a Cloud Application

Publishing to the Cloud

Working with Data

Design Your Data

Separate Data Design from Storage Schema

Build Occasionally Connected Applications

Write Connected, Service-Oriented Solutions

Develop an Application/Business Process

Create and Consume Services


Chapter 2 The Visual Studio IDE

Installing Visual Studio

Choosing a Language

Configuring Your Development Environment Settings

Getting Started

Startup Options

Creating Your First Project

Targeting Your Environment

Navigating the IDE

The Menus

The Many Toolbars

Customizing Toolbars

The Solution Explorer

The Text Editors

The Visual Designers

The Toolbox

The Properties Window

Managing the Many Windows of the IDE



Navigating IDE Windows

Customize Your Font


Chapter 3 The .NET Languages

Language Primer

Programming Objects

Types, Variables, and Constants


Making Decisions and Branching Code


Working with Groups of Items

Programming with Attributes

Creating and Raising Events

Language Features

Infer a Variable’s Data Type Based on Assignment

Create an Object and Set Its Properties with a Single Line of Code

Define a Collection and Initialize Its Values (New)

Create an Instance of a Nonexistent Class

Add Methods to Existing Classes

Add Business Logic to Generated Code

Access and Query Data Using the .NET Languages

Write Simple, Unnamed Functions Within Your Code

Split an Assembly Across Multiple Files

Work with XML Directly Within Your Code (VB Only)

Remove Unused Arguments from Event Handlers (VB Only)

Create an Automatically Implemented Property (New for VB)

Drop the Underscore in VB for Line Continuation (New)

Work with Dynamic Languages/Objects (New)

Covariance and Contravariance (New)

The .NET Framework

A Map to the .NET Framework


Part II An In-Depth Look at the IDE

Chapter 4 Solutions and Projects

Understanding Solutions

Creating a Solution

Working with Solutions

Getting Comfortable with Projects

Creating a Project

Working with Project Definition Files

Working with Projects


Chapter 5 Browsers and Explorers

Solution Explorer

Visual Cues and Icons

Managing Solutions

Managing Projects

Class View


Search Bar

Objects Pane

Members Pane

Server Explorer

Data Connections

Server Components

Object Browser

Changing the Scope

Browsing Objects

Document Outline

Editing Elements


Chapter 6 Introducing the Editors and Designers

The Basics

The Text Editor

Visual Studio Designers

Coding with the Code Editor

Opening an Editor

Writing Code in the Code Editor

Anatomy of the Code Editor Window

Code Navigation Tools

Searching Documents

Debugging in the Text Editor

Printing Code

Using the Code Definition Window

Creating and Editing XML Documents and Schema

Inferring Schema

Designing XML Schemas

Editing XSLT Style Sheets

Working with Cascading Style Sheets

Adding Style Rules

Defining Style Sheet Attributes

Developing Windows Client Applications

Creating a Windows Forms Project

Creating a Windows Presentation Foundation Project

Developing Web Forms

Designing a Web Form Application

Authoring WinForms Components and Controls

Creating a New Component or Control

Further Notes on Writing Component Code

Creating Classes with the Class Designer

Creating a Class Diagram

Adding Items to the Diagram

Defining Relationships Between Classes

Defining Methods, Properties, Fields, and Events


Chapter 7 The .NET Community: Interacting Online

The Community Features of Visual Studio

The Visual Studio Start Page

Accessing Help

Manage Your Help Settings

Using the Visual Studio Documentation

MSDN Forums

Reporting a Bug and Other Customer Feedback Options


Discovering and Consuming Shared Content

Examining Shared Content Types

Finding the Right Content

Installing and Storing Shared Content

Participating in the Community

Starter Kits Versus Templates

Creating a Project Template

Creating Item Templates

Packaging Your Creation for Wider Distribution


Part III Writing and Working with Code

Chapter 8 Working with Visual Studio’s Productivity Aids

Basic Aids in the Text Editor

Change Tracking

Coding Problem Indicators

Active Hyperlinking

Syntax Coloring

Outlining and Navigation

Code Outlining

Tag Navigation

Smart Tags and Smart Tasks

HTML Designer

Windows Forms Designer

Code Editor


Complete Word

Quick Info

List Members

Parameter Info

Organize Usings

Code Snippets and Template Code

Brace Matching

Customizing IntelliSense

The Task List

Comment Tasks

Shortcut Tasks

User Tasks


Chapter 9 Testing Code

Unit Testing Basics

Creating a Test Project

Generating Tests from Existing Code

Writing an Actual Unit Test

Running Your Tests

Viewing Test Results

Configuring Testing Options and Settings

The Unit Testing Framework

The TestContext Class

The Test Attribute Classes

Unit Test Setup and Tear Down

The Assert Classes

Testing Your Exceptions

Creating Data-Bound Unit Tests

Writing ASP.NET Hosted Unit Tests

Defining ASP.NET Attributes

Generating an ASP.NET Unit Test

Configuring Your Test Project Host

Configuring Unit Test Attributes

Defining a Connection with the Properties Dialog Box

Creating Ordered Tests

Organizing Your Tests

The Test View Window

The Test List Editor


Chapter 10 Refactoring Code

Visual Studio Refactoring Basics

Invoking the Refactoring Tools

Previewing Changes

Renaming Code

Accessing the Rename Operation

Working with the Rename Dialog Box

Extract Method

Accessing the Extract Method Refactor

Extracting Methods

Generate Method Stub

Extract Interface

Accessing the Extract Interface Refactor

Extracting Interfaces

Refactor Parameters

Remove Parameters

Reorder Parameters

Encapsulate Field

Accessing Encapsulate Field

The Encapsulate Field Dialog Box


Chapter 11 Debugging Code

Debugging Basics

The Scenario

The Many Phases of Debugging

Debugging the Application (Self-Checking)

Debugging Basics Summary

The Visual Studio Debugger

The Debug Menu and Toolbar

Debug Options

Stepping In, Out, and Over Code

Indicating When to Break into Code

Working with Tracepoints (When Hit Option)

Viewing Data in the Debugger

Using the Edit and Continue Feature

Advanced Debugging Scenarios

Remote Debugging

Debugging WCF Services.

Debugging Multithreaded Applications

Debugging Parallel Applications

Debugging a Client-Side Script

Debugging Crash Information (Dump Files)


Chapter 12 Deploying Code

An Overview of Client Deployment Options

Introducing ClickOnce Deployments

Introducing Windows Installer-Based Deployments

Publishing a Project with ClickOnce

Publishing a Project with the Windows Installer

The File System Editor

The Registry Editor

The File Types Editor

The User Interface Editor

The Custom Actions Editor

The Launch Conditions Editor

Publishing an ASP.NET Website or Application

Using the Web Deployment Tool

Using the Copy Web Site Tool


Part IV Extending Visual Studio

Chapter 13 Introducing the Automation Object Model

An Overview of the Automation Object Model

Object Model Versions

Automation Categories

The DTE/DTE2 Root Object

Solution and Project Objects

Controlling Projects in a Solution

Accessing Code Within a Project


Referencing Windows

Interacting with Windows

Text Windows and Window Panes

The Tool Window Types

Linked Windows

Command Bars


Text Documents

Command Objects

Executing a Command

Mapping Key Bindings

Debugger Objects

Automation Events


Chapter 14 Writing Macros

Recording a Macro

Using the Macro Explorer

Writing Macros with the Macro IDE

Working with Macro Projects

Writing a Macro


Handling Events

Invoking Macros


Chapter 15 Writing Add-ins and Wizards

Creating Your First Add-in Project

Setting Add-in Parameters

The Structure of an Add-in

The Life Cycle of an Add-in

Reacting to Commands

Managing Add-ins

A Sample Add-in: Color Palette

Getting Started

Creating the User Control

Finishing the Connect Class

Exposing Add-in Settings

Creating a Visual Studio Wizard

Examining the Wizard Structure

Creating an Add New Item Wizard


Chapter 16 Extending the Code Editor Using MEF

The Extensibility Problem

Creating Dynamic Applications

MEF Architecture

MEF Principles

Working with MEF

The Visual Studio Editor and MEF

Editor Extension Points

Using the Visual Studio SDK

Using the Extension Manager

Creating Your Own MEF-Based Editor Extension


Part V Creating Enterprise Applications

Chapter 17 Creating ASP.NET Applications

The Basics of an ASP.NET Website

Creating a New Website or Web Application

Controlling Project Properties and Options

Creating Web Pages

Designing Your User Interface

Determining Page Layout and Control Positioning

Creating a Common Look and Feel

Creating a User-Configurable UI

Working with the ASP.NET Controls

An Overview of the ASP.NET Controls

The ASP.NET Standard Controls

Validation Controls

The Login Controls

Site Navigation Controls

Data Controls

User Controls

Creating an ASP.NET MVC Application

Understanding ASP.NET MVC

Creating an MVC Project

Creating Functionality Using ASP.NET MVC


Chapter 18 Building Windows Forms Applications

The Basics of Form Design

Considering the End User

Understanding the Role of UI Standards

Planning the User Interface

Creating a Form

The Windows Forms Application Project Type

Form Properties and Events

Adding Controls and Components

Control Layout and Positioning

Using Containers

Control Appearance and Behavior

Working with ToolStrip Controls

Displaying Data

Creating Your Own Controls

Subclassing an Existing Control

Designing a User Control

Creating a Custom Control


Chapter 19 Creating Richer, Smarter User Interfaces

The Windows Presentation Foundation Platform

Programming Model

Introducing the WPF Designer

XAML and Design Panes

Programming with WPF


Styles and Templates

Data Binding

Routed Events

Building a Simple Image Viewer Application

Starting the Layout

Storing the Images

Binding to the Images

Button Event Handlers and Image Effects

Path Selection with a Common Dialog Box


Chapter 20 Creating Rich Browser Applications

Building Rich, Cross-Browser Interfaces with ASP.NET Ajax

The ASP.NET Ajax Controls

Creating a Page that Supports Partial Update

The ASP.NET Ajax Library/Control Toolkit

Creating Unique, Rich Experiences on Windows via the Browser

Choosing Between WPF Standalone and WPF XBAP

Creating a WPF Browser Application

Security Considerations

Deploying a WPF Browser Application

Delivering Interactive Experiences Across Platforms

Getting Started with Silverlight

Creating a Silverlight Application

Silverlight 4.0


Chapter 21 Working with Databases

Creating Tables and Relationships

Creating a New SQL Server Database

Defining Tables

Using the Database Diagram Designer

Working with SQL Statements

Writing a Query

Creating Views

Developing Stored Procedures

Creating Triggers

Creating User-Defined Functions

Using Database Projects

Creating a Database Project

The Schema View

Building and Deploying

A Note on Data Tier Applications

Creating Database Objects in Managed Code

Starting a SQL CLR Project

Creating a Stored Procedure in C#

Binding Controls to Data

An Introduction to Data Binding

Auto-Generating Bound Windows Forms Controls

Editing Typed DataSets

Manually Binding Windows Forms Controls

Data Binding in WPF Applications

Data Binding with Web Controls

Object Relational Mapping

An Overview of LINQ

Mapping Using the O/R Designer


Working with the Entity Framework

Querying Against the Entity Data Model


Chapter 22 Service-Oriented Applications

Service Fundamentals

Why ASP.NET Web Services and WCF

ASP.NET Web Service Applications

The ASP.NET Web Service Project Template

Coding an ASP.NET Web Service

Consuming an ASP.NET Web Service

ASP.NET Web Service Exceptions

WCF Service Applications

The WCF Project Template

Creating a WCF Service

Configuring a WCF Service

Consuming a WCF Service

Hosting and Deploying a WCF Service


Chapter 23 Embedding Workflow in Your Applications

Windows Workflow Fundamentals

The Components of a Workflow

The Workflow Project Templates

The Workflow Designer

The Workflow Item Templates

The Basics of Creating a Workflow

Working with the Built-In Workflow Activities

Controlling Flow

Runtime and Primitives

Error Handling

Collection Activities

Supporting Transactions

Managing Messages

Creating Flowchart Workflows

Creating a Workflow Application

The Scenario: Travel Request

The Application Project Templates

Create the Database and Data Access Library

Create the Vendor Reservation Service

Create the Custom Activity Library

Design the Workflow (Travel Request)

Creating the Client Application (Request and Approval Forms)

Running the Travel Request Workflow Application


Chapter 24 Developing Office Business Applications

An Overview of Office Extension Features

Office Features

Visual Studio Office Project Types

Creating an Office Add-in

Customizing the Ribbon

Customizing the Task Pane

Creating Outlook Form Regions

Creating an Office Document Extension

Hosting Controls

Creating an Actions Pane

Storing Data in the Data Cache

Implementing Your Own Smart Tags


Chapter 25 Developing Applications in the Cloud with Windows Azure

Azure Fundamentals

Azure Platform Benefits

Setting Up Your Development Environment

Azure Roles

The Azure Project Templates

Azure Storage Options

Hello Cloud

Building and Deploying an Azure Application

The Scenario

Developing the Application

Subscribing to the Azure Services (Get an Account)

Creating a Storage Account

Creating a Hosted Service Account

Preparing Your Application for Publishing

Publish and Deploy Your Application to the Cloud

Promoting to Production

Next Steps



Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020