This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.
Microsoft Visual Studio 2005 Unleashed is a deep dive into the Visual Studio 2005 tool. Specifically, it will provide you with solid guidance and education that will allow you to squeeze the ultimate productivity and use out of the Visual Studio 2005 development environment. This book folds in real-world development experience with detailed information about the IDE to make you more productive and ease transition from other development environments (including prior versions of Visual Studio). This book will also help you increase team collaboration and project visibility with Visual Studio Team Systems and it will give you straight, to-the-point answers to common developer questions about the IDE.
Chapters include:
- Code Viewers, Explorers, and Browsers
- Refactoring Code 8
- Writing ASP .NET Applications
- Defining Standards and Practices
- Introduction to Visual Studio Team System
- Work Item Tracking
- Unit and Load Testing
Table of Contents:
Introduction
Who Should Read This Book?
How Is This Book Organized?
Part I: An Introduction to Visual Studio 2005 and NET
Part II: The Visual Studio 2005 Environment: In-depth
Part III: Visual Studio 2005 at Work
Part IV: Visual Studio Team System
Conventions Used in This Book
Part I: An Introduction to Visual Studio 2005/NET
1 A Quick Tour of Visual Studio 2005
Some Welcome Enhancements
Design, Write, and Discover Code
Edit and Debug Code
Share (and Consume) Code with a Community
Target Different Customer Experiences
Connect with Data
Automate Application Testing
Sorting Through the SKUs
Express Editions
Standard Edition
Visual Studio Professional Edition
Visual Studio Team System
Summary
2 A Quick Tour of the IDE
Installation
Choosing a Language
Installing Source Control
Configuring Your Development Environment
The Start Page
Startup Options
Your First Project
The Menu Bar
The Many Toolbars
The Standard Toolbar
The Toolbox
The Visual Designers
The Text Editors
The Code Editors
Editor Customizations
The Solution Explorer
The Properties Window
Managing the Many Windows of the IDE
Pinning
Docking
Summary
3 NET Framework and Language Enhancements in 2005
Shared NET Language Additions
Generics
Nullable Types
Partial Types (Classes)
Properties with Mixed Access Levels
Ambiguous Namespaces
VB Language Enhancements
The Continue Statement
Unsigned Types
IsNot Operator
Using Block
Form Access Similar to VB6
Explicit Zero Lower Bound on an Array
Operator Overloading
Custom Events
C# Language Enhancements
Anonymous Methods
Static Classes
Reference Two Versions of the Same Assembly
Friend Assemblies
NET Framework 20 Enhancements
New Features of Core Technologies
Summary
Part II The Visual Studio 2005 Environment In-depth
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
5 Browsers and Explorers
Solution Explorer
Visual Cues and Icons
Managing Solutions
Managing Projects
Class View
Toolbar
The Search Bar
Objects Pane
Members Pane
Server Explorer
Data Connections
Server Components
Object Browser
Changing the Scope
Browsing Objects
Performance Explorer
Creating a Performance Session
Configuring a Session
Session Targets
Reports
Understanding Performance Reports
Macro Explorer
The Macros Root Node
Projects
Modules
Macro
Document Outline
Editing Elements
Summary
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
Developing Windows Forms Applications
Customizing the Form’s Appearance
Adding Controls to a Form
Writing Code
Developing Web Forms
Designing a Web Form Application
Authoring Components and Controls
Creating a New Component or Control
Further Notes on Writing Component Code
Summary
7 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
HTML Navigation
Smart Tags and Smart Tasks
HTML Designer
Windows Forms Designer
Code Editor
IntelliSense
Complete Word
Quick Info
List Members
Parameter Info
Code Snippets and Template Code
Brace Matching
Customizing IntelliSense
The Task List
Comment Tasks
Shortcut Tasks
User Tasks
Summary
8 Refactoring Code
Visual Studio Refactoring Basics
Invoking the Refactoring Tools
Previewing Changes
Rename
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
Promote Local to Parameter
Reorder Parameters
Encapsulate Field
Accessing Encapsulate Field
The Encapsulate Field Dialog Box
Summary
9 Debugging with Visual Studio 2005
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…)
Viewing Data in the Debugger
Using the Edit and Continue Feature
Remote Debugging
Summary
10 The Visual Studio 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
11 Writing Macros, Add-ins, and Wizards
Writing Macros
Recording a Macro
Using the Macro Explorer
Using the Macro IDE
Handling Events
Invoking Macros
Writing Visual Studio Add-ins
Managing Add-ins
Running the Add-in Wizard
The Structure of an Add-in
A Sample Add-in: Color Palette
Creating a Visual Studio Wizard
Examining the Wizard Structure
Creating an Add New Item Wizard
Summary
12 The NET Community: Consuming and Creating Shared Code
The Community Features of Visual Studio
The Visual Studio Start Page
The Community Menu
Discovering and Consuming Shared Content
Examining Shared Content Types
Finding the Right Content
Installing and Storing Shared Content
Giving Back to the Community
Creating Shared Items (Project and Item Templates)
Creating Project Templates
Creating Item Templates
Packaging Your Creation
Publishing Your Creation
Summary
Part III: Visual Studio 2005 at Work
13 Creating ASPNET User Interfaces
The Basics of an ASPNET Website
Creating a New Web Application Project
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 ASPNET Controls
ASPNET Control Enhancements
The New Controls Inside ASPNET
Summary
14 Building Windows Forms
The Basics of Form Design
Considering the End User
Understanding the Role of UI Standards
Planning the User Interface
Creating a Form
The Windows 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
15 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
Auto-Generating Scripts
Executing a Script
Creating Database Objects in Managed Code
Starting a SQL Server Project
Creating a Stored Procedure in C#
Binding Controls to Data
An Introduction to Data Binding
Auto-Generating Bound Windows Forms Controls
Manually Binding Windows Forms Controls
Data Binding with Web Controls
Summary
16 Web Services and Visual Studio
Web Services Defined
Web Service Terms
The Components of a Web Service Project
NET Web Services
ASPNET Web Service Project
The Web Service Files
Developing a Web Service
Creating the Web Service
Accessing and Invoking the Web Service
Consuming a Web Service
Defining a Web Reference
Viewing the Web Reference
Calling the Web Service
Managing Web Service Exceptions
Creating a Web Service Exception
Handling a Web Service Exception
Summary
Part IV: Visual Studio 2005 Team System
17 Team Collaboration and Visual Studio Team System
A View of Software Development Projects
MSF Agile
MSF for CMMI
Introducing the Visual Studio Team System
Visual Studio Team Architect
Visual Studio Team Developer
Visual Studio Team Test
Team Foundation Server
Summary
18 Managing and Working with Team Projects
Anatomy of Team Foundation Server
The Application Tier
The Data Tier
Security
Managing a Team Project
Creating a New Team Project
Adding Users to a Project Team
Controlling Project Structure and Iterations
Contributing to a Project Team
Connecting to a Team Foundation Server
Using Team Explorer
Using the Project Portal
Using Microsoft Office
Using Project Alerts
Working with Project Reports
Summary
19 Source Control
The Basics of Team Foundation Source Control
Basic Architecture
Security Rights and Permissions
Getting Started with Team Foundation Source Control
Configuring Visual Studio
Using the Source Control Explorer Window
Managing Workspaces
Adding Files to Source Control
Editing Files Under Source Control
Retrieving a File from the Source Repository
Checking in Your Changes
Understanding the Concept of Changesets
Shelving Your Code
Merging Changes
Branching and Merging
Branching
Merging
Summary
20 Work Item Tracking
Understanding Work Items
Understanding the Role of Work Items and the SDLC
Picking the Work Item Set for Your Project
Identifying Work Item Commonalities
Using Team Explorer to Manage Work Items
Understanding Team Role Perspectives
Project Vision
Project Manager
Business Analyst
Developer
Tester
Customizing Work Items
Seeding the Process with Work Items
Customizing an Existing Work Item
Summary
21 Modeling
Team Architect Artifacts
Project Templates
Item Templates
Designing Your Application
Working with the Application Diagram
Defining a System
System Diagram
Defining Your Infrastructure
Logical Datacenter Diagram
Deploying Your Application
Deployment Diagram
Validate Deployment
Deployment Report
Implementing Your Application
Setting Implementation Properties
Generating Projects
Visually Developing Code
Class Diagram
Adding Items
Defining Relationships Between Classes
Defining Methods, Properties, Fields, and Events
Summary
22 Testing
Creating, Configuring, and Managing Tests
Test Projects
Test Items
Test Manager
Testing Configuration
Developer Testing
A Sample Unit Test
Writing Effective Unit Tests
Using Unit Test Classes and Methods
Creating Unit Tests
Running Unit Tests
Code Coverage Analysis
Web Testing
Recording a Web Test
Managing Web Test Requests
Running the Web Test and Viewing Results
Seeding a Web Test with Data
Extracting Values from Web Tests
Requesting Validation Rules
Load Testing
Creating a Load Test
Reviewing and Editing a Load Test
Running Load Tests and Reviewing Results
Manual Tests
Creating a Manual Test
Executing a Manual Test
Generic Tests
Ordered Tests
Creating an Ordered Test
Summary
23 Team Foundation Build
An Overview of Team Foundation Build
Team Foundation Build Architecture
Creating a New Build
Specifying New Build Information
Editing a Build Type
The Role of MSBuild
Starting a Build
Scheduling Builds
Invoking a Build
Monitoring and Analyzing Builds
Introducing the Team Build Browser
The Build Report
Summary
About the Author :
Lars Powers (MCSD) has more than 14 years of experience in the software development focusing on designing and implementing solutions using Microsoft development tools. He was one of the original members of the MCSD certification program. He currently works as a Senior Consultant with Microsoft Corporation. Mike Snell (MCSD, PMP, Microsoft Regional Director) has 12 years of experience as a software architect and consultant. He has led a number of enterprise level projects and delivered training and mentoring to hundreds of developers. He is responsible for the Microsoft practice at CEI and ensures successful delivery of all .NET projects.