HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
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...
n Work with solutions, projects, browsers, explorers, editors, and designers
n Write better macros, add-ins, and wizards
n Save more time with Visual Studio 2010’s updated productivity tools
n Instrument, analyze, and test your software
n Refactor code for greater robustness, maintainability, and performance
n Share code with team members and the larger community
n Write powerful ASP.NET, ASP.NET MVC, and Silverlight web applications
n Implement robust service oriented architecture (SOA)–based applications
n Efficiently consume services with WCF
n Write advanced Windows applications with Windows Forms and WPF
n Construct data-centric applications with LINQ and Entity Framework
n Create and host workflow-based applications with WF
n Write applications for the Azure cloud
n Extend Visual Studio with the new Managed Extensibility Framework (MEF) and the Automation Object Model
n Build better object-oriented VB or C# software, and use new dynamic language features
ON THE WEB:
Download all examples and source code presented in this book from informit.com/title/9780672330810
visualstudiounleashed.com
Download the sample pages (includes Chapter 2 and Index)
Introduction
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
Premium
Ultimate
MSDN
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
Summary
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
Pinning
Docking
Navigating IDE Windows
Customize Your Font
Summary
Chapter 3 The .NET Languages
Language Primer
Programming Objects
Types, Variables, and Constants
Operators
Making Decisions and Branching Code
Looping
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
Summary
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
Summary
Chapter 5 Browsers and Explorers
Solution Explorer
Visual Cues and Icons
Managing Solutions
Managing Projects
Class View
Toolbar
Search Bar
Objects Pane
Members Pane
Server Explorer
Data Connections
Server Components
Object Browser
Changing the Scope
Browsing Objects
Document Outline
Editing Elements
Summary
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
Summary
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
Samples
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
Summary
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
IntelliSense
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
Summary
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
Summary
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
Summary
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)
Summary
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
Summary
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
Windows
Referencing Windows
Interacting with Windows
Text Windows and Window Panes
The Tool Window Types
Linked Windows
Command Bars
Documents
Text Documents
Command Objects
Executing a Command
Mapping Key Bindings
Debugger Objects
Automation Events
Summary
Chapter 14 Writing Macros
Recording a Macro
Using the Macro Explorer
Writing Macros with the Macro IDE
Working with Macro Projects
Writing a Macro
Debugging
Handling Events
Invoking Macros
Summary
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
Summary
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
Summary
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
Summary
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
Summary
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
Layout
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
Summary
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
Summary
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
LINQ Code
Working with the Entity Framework
Querying Against the Entity Data Model
Summary
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
Summary
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
Summary
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
Summary
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
Summary
9780672330810 TOC 7/8/2010