Visual Studio 2010 All-in-One For Dummies - Andrew Moore - E-Book

Visual Studio 2010 All-in-One For Dummies E-Book

Andrew Moore

0,0
27,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

A comprehensive, easy-to-understand guide to Visual Studio2010 Visual Studio is Microsoft's comprehensive developmentenvironment that encompasses the .NET Framework, variousprogramming languages, and ASP.NET. Programmers love it fordeveloping applications for mobile devices and the Web. Because Visual Studio can be complex, the All-in-One ForDummies format makes it easy for beginners to grasp itsdifferent parts and get up to speed. * Visual Studio is a development environment used with variousprogramming languages to create a variety of applications,including those for the Web and mobile devices * The updated Visual Studio 2010 features new emphasis ondevelopment for Windows 7, cloud computing, and enhanced Web andSilverlight * Visual Studio 2010 All-in-One For Dummies shows how tobuild applications using the enhanced productivity features ofVisual Studio 2010 * Minibooks cover a Visual Studio overview, getting started,building Windows 7 and cloud applications, data access, coding, andother IDE details * Ideal for new programmers or Java programmers who want tobecome proficient with Visual Studio Visual Studio 2010 All-in-One For Dummies provides both agreat instruction book for new programmers and a valuable referencefor the more experienced.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 963

Veröffentlichungsjahr: 2010

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Visual Studio 2010 All-in-One For Dummies®

Table of Contents

Introduction

Who Should Read This Book?

About This Book

Foolish Assumptions

Conventions Used in This Book

Stuff you type

Menu commands

Display messages

How This Book Is Organized

Book I: Visual Studio 2010 Overview

Book II: Getting Started with Visual Studio

Book III: Coding

Book IV: Basics of Building Applications with Visual Studio 2010

Book V: Getting Acquainted with Data Access

Book VI: Going the Extra Mile

Book VII: Extending the Family

About the Companion Web Site

Icons Used in This Book

Book I: Visual Studio 2010 Overview

Book I: Chapter 1: What Is Visual Studio?

From Source Code to Application: How Software Is Written

The Role of the Integrated Development Environment

Tools beyond the basic three

Enter Visual Studio

Visual Studio as the Hub

The Keeper of .NET

Book I: Chapter 2: Exploring .NET

Following the Evolution of .NET

Getting Acquainted with the .NET Components

.NET freebies

No free lunch

Peering into the Future of .NET

Book I: Chapter 3: Modern Software Development

Examining the Software Development Process

Looking at Software Engineering in Action

Have process, will repeat

Practicing what you preach

Building a developer’s toolbox

Working with your partners in development

Components Defeat Monoliths

Architecture evolution

Component management in .NET

Managed Code Execution

Taking Out the Garbage

Allocating memory

Releasing memory

Book I: Chapter 4: The Languages of .NET

More than Just a Pretty Face: A Windows Application

Looking at the Languages of .NET

Visual Basic

Visual C#

Visual C++

F#

Choosing the Right Language for the Job

Becoming a Good Programmer

Learn the syntax

Write your own code

Book I: Chapter 5: The Many Editions of Visual Studio 2010

Making Sense of the Visual Studio Editions

Visual Studio Express Editions

Visual Studio Professional

Visual Studio Team System

Choosing the Right Edition

Subscribing to the Microsoft Developer Network

Weighing your options

Developing When It’s a Team Effort

Managing projects with Team System

Architecting software

Developing software with Team System

Testing with tools

Collaborating with Visual Studio Team Foundation

Book I: Chapter 6: New to Visual Studio 2010

Exploring Additional Programming Paradigms

Parallel programming

Cloud computing

Reaping the Benefits for Development Teams

Enhanced user interface

Better development lifecycle management

Better programming productivity

Better Web development tools

Gaining Databases Support

Book II: Getting Started with Visual Studio

Book II: Chapter 1: Installing Visual Studio Professional

Installing Versions Side by Side

Taking a look at all the .NETs

Getting help from Visual Studio 2010

Meeting System Requirements

Stepping through the Installation

Launching Visual Studio for the First Time

Book II: Chapter 2: Browsing Visual Studio

Making Your Way around Visual Studio

Dealing with Windows Galore

Docking windows

Working with tabbed documents

Managing windows

Building Solutions with Visual Studio 2010

Using the Solution Explorer to manage solutions and projects

Working with solution and project menus

Using the Properties Window

Browsing Servers

Writing Code with the Code Editor

Using the Forms Designer

Taking a Look at Other Designers

Book II: Chapter 3: Making Connections with Visual Studio

Getting Help

Opening and navigating the help documentation

Searching and filtering search results

Customizing the start page

Staying in Touch with the .NET Community

Pursuing certification

Viewing Webcasts

Book II: Chapter 4: Upgrading .NET

Making the Business Case for Upgrading

What happens to Visual Studio code in an upgrade?

What are alternatives to upgrading?

How do you upgrade from pre-.NET languages?

Considering Your Conversion Strategies

Converting Windows applications and class libraries

Converting Web applications

Running Web applications side-by-side

Using Visual Studio 2010 with .NET 2.0

Book III: Coding

Book III: Chapter 1: Programming with Visual Studio 2010

Using the Code Editor

Simplifying your common tasks

Using visual cues

Browsing and navigating code

Exploring Visual Basic and C#

Organizing programs

Getting started

Book III: Chapter 2: Understanding Data Types

The Rules of Data Types

Making a Declaration

The .NET Framework’s Common Type System

Understanding the type hierarchy

Throwing it on the stack or the heap

Completing your assignments

Popular value types

Popular reference types

Creating Your Own Types

When There’s More than One

Using arrays

Using System.Collections

Iterating through arrays and collections

Collections in the real world

Converting Types

Meet the Nullable Types

Browsing Types

Setting the scope

Setting the view

Viewing data types

Viewing source code

Accessing Types in Your Source Code

Book III: Chapter 3: Get Some Class

Bringing Programs to Life the Object-Oriented Way

What’s with Objects?

Anatomy of a Class in .NET

Inheriting the services of System.Object

Using classes in your code

Using Class Designer

Exploring Class Designer

Designing classes

Viewing existing classes

Book III: Chapter 4: Wiring Up Events in the User Interface

Handling Events

Discovering events

Wiring up events and event handlers

Getting a Life Cycle

Understanding life cycles in Windows applications

Understanding Web page life cycles

Book III: Chapter 5: Getting Productive with Visual Studio 2010

Sending Your Code to Boot Camp

Attending the naming convention

Calling all cars! FxCop to the rescue!

Setting up FxCop as an external tool

It’s Not Your Father’s IntelliSense Any More

Using code snippets

Stub it out with method stubs

Adding using statements

Objectifying your code

Creating XML Documentation

Factoring in the Refactoring

Refactoring with Class Designer

Refactoring C#

Book III: Chapter 6: Exploring Web Services

Defining a Web Service

Saying Hello to Web Services

Understanding ASP.NET Web services

Adding a method

Testing Web services

Consuming a Web Service

Communicating with a Web service

Finding Web services

Using a Web service in your application

Book III: Chapter 7: Handling Exceptions and Debugging

Structured Exception Handling to the Rescue

Handling exceptions

Using Visual Studio to manage exceptions

Understanding Debugging

Enabling debugging

Firing up the Debugger

Exception handling in native C++ applications

Debugging for those special circumstances

Debugging generated code

Book III: Chapter 8: Testing Code with Visual Studio

Defining Unit Testing

Unit Testing in Visual Studio

Creating unit tests

Running a battery of tests

Approaches to Unit Testing

Letting stubs do the tough testing

Simplifying testing with mocking objects

Stubs versus mocks

Automating Tests with Testing Frameworks

Book IV: Basics of Building Applications with Visual Studio 2010

Book IV: Chapter 1: Getting Smart about Smart Clients

Switching from Fat Clients to Smart Clients

Designing Windows Forms

Creating your first smart client project

Saying, “Hello world!”

Taking Command from Control Central

Introducing the control toolbox

Customizing the toolbox

Adding controls to your form

Manipulating Controls

Formatting controls

Seeing the snaplines

Locking controls

Setting the tab order

Access a control’s tasks with smart tags

Using the Properties Window

Setting properties

Responding to events

Book IV: Chapter 2: Building Smart Client User Interfaces

Building the Windows Container

Setting common form properties

Creating dialog boxes

Adding menus and toolbars

Creating a Multiple Document Interface

Laying Out Your Controls

Grouping controls

Setting layout properties

Book IV: Chapter 3: Building Visual C++ Applications

Getting to Know Visual C++

Introducing Visual C++ Templates and Wizards

Saying “Hello, Visual C++”

Creating managed applications

Creating unmanaged applications

Book IV: Chapter 4: Building Web Applications

Exploring Microsoft’s Web Design and Development Tools

Getting to Know the Visual Web Developer

Building better Web applications with ASP.NET

Understanding how ASP.NET pages are served

Creating Web sites

Saying “Hello, World Wide Web”

Viewing ASP.NET syntax

Adding content

Working with Web Sites

Adding new pages

Benefitting from the battle of the server controls

Changing your view

Running your Web site

Using Starter Kits

Book IV: Chapter 5: Using AJAX for Rich Web Pages

AJAX Explained: What It Does and WhyYou Should Consider Using It

ASP.NET postback architecture

Partial page updates

Using AJAX Extensions

Creating your first AJAX Web application

Adding traditional ASP.NET controls to the form

Using AJAX to implement a partial page update pattern

Updating controls outside UpdatePanel

Using the AJAX Controls

Adding the AJAX Control Toolkit to the Visual Studio toolbox

Using AJAX controls from the Toolkit

Book IV: Chapter 6: Laying Out Your Web Site

Keeping Track of Input with Validation Controls

Adding a validation control

Testing a validation control

Handling multiple validation controls

Mapping Out Your Site Navigation

Adding a site map

Adding navigation controls

Managing Your Site’s Appearance with Themes and Master Pages

Using themes and skins

Mastering master pages

Laying Out Web Pages with CSS

Introducing CSS basics

Adding and creating CSS styles

Creating a page template with CSS

Applying styles to controls

Book IV: Chapter 7: Exploring ASP.NET Services

What a Wonderful Provider!

Managing State

Understanding view state

Using session state

Providing the Perks of Membership

Configuring the default database

Running a site on IIS

Securing membership content

Setting up a login page

Getting Personal

Saving visitor settings with profiles

Letting users customize with Web parts

Book IV: Chapter 8: Using Threads and Timers

Dividing Up Your Work with Threads and Thread Pools

Adding Threads to Your Application

Queuing Your Work Using the .NET Framework Thread Pool

Delegating responsibility using delegates

Returning data from delegates

Keeping Things on Schedule with Timers

Book IV: Chapter 9: Writing Network Applications

Creating an Application to Access Content on the Web

Creating a Simple Chat Application

The Chat Server Application

The Chat Client application

Book IV: Chapter 10: Parallel Programming

Introducing the .NET Task Parallel Library

Examining data parallelism in the TPL

Examining task parallelism in the TPL

Exploring Unmanaged C++ Parallel Programming with the Parallel Patterns Library (PPL)

Creating Parallel Queries with Parallel Language Integrated Query (PLINQ)

Book IV: Chapter 11: Writing Silverlight Applications

Getting Started with Silverlight

Creating a Silverlight application

Adding controls to your application

Creating Content for Web Applications

Adding style to your clock

Jazzing up your clock’s text

Displaying the current time

Centering the clock’s text

Adding Interactive Content to Enhance the Web Experience

Book IV: Chapter 12: Programming for the Cloud

Reaping the Benefits of Cloud Computing

Programming for the Cloud with Visual Studio

Deploying ASP.Net Web Services on the Cloud

Choosing a Web Role

Adding Content to Your Application

Deploying Your Applications on the Cloud

Book V: Getting Acquainted with Data Access

Book V: Chapter 1: Accessing Data with Visual Studio

Accessing Data with Visual Studio and .NET

Meeting ADO.NET

Exploring the Visual Studio data toolbox

Understanding Databases

Introducing relational databases

Understanding SQL

Dragging and Dropping Data

Preparing your computer to work with data

Adding data to Windows applications

Adding data to Web Forms

Book V: Chapter 2: Show Me the Data

Adding Data Access in Windows Applications

Working with the Data Sources pane

Viewing data source objects

Adding data sources

Connecting to databases

Adding controls from the Data Sources pane

Getting Your Data in a Bind

Using BindingSource to connect to other data

Using BindingNavigator

Binding by using the Binding property

Creating Web Forms That Access Data

Meet the controls

Customizing layout with templates

Working with tasks and properties

Updating data with the DataSet Designer

Getting the view right with the GridView control

Binding to expressions

Book V: Chapter 3: Working with Strongly Typed DataSets

Understanding the DataSet

Discerning typed versus untyped DataSets

Working with untyped DataSets

Flexing your strongly typed DataSets

DataSets and XML, together at last

Creating Typed DataSets

Creating a DataSet in a class library

Adding typed DataSets to existing projects

Exploring the DataSet Designer

Meet the players

Building a DataSet of your own

Adding database objects

Going beyond database tables

Shepherding Data

Using the TableAdapter Configuration Wizard

Using the TableAdapter Query Configuration Wizard

Looking under the Hood of a Strongly Typed DataSet

Viewing code

Using partial classes

Viewing the source

Using a Typed DataSet

Book V: Chapter 4: Working with XML

Exploring XML

Storing Data the XML Way

Creating a New XML File

Describing Data in an XML Document

Creating an XML Schema

Building an XML Schema

Using XML snippets

Transforming XML with Extensible Stylesheet Language Transformations

Writing an XSLT style sheet

Linking an XSLT file to another document

Staying on the path with XPath

XML and .NET

Book V: Chapter 5: Under the Hood with ADO.NET

Meet the Players

Picking a Provider

Accessing providers

Objectifying the providers

Making Connections

Connecting to a database

Closing your connection

Stringing up connections

Building connection strings

Using Commands

Reading Data with DataReaders

Stepping through data

Retrieving data with the Get accessors

Retrieving schema info

Caching Data with DataSets

Filling a DataSet

Updating data with the Update method

Using TableAdapters

Using transactions

Supporting XML with ADO.NET

Using ADO.NET in Your Applications

Book V: Chapter 6: Using Visual Studio with SQL Server

Getting Acquainted with SQL Server 2008

Installing SQL Server Express Edition

Working with the SQL Server tools

Using the Adventure Works sample

Creating Database Projects

Managing scripts with database projects

Handling data with SQL Server projects

Managing Your Database with Visual Database Tools

Using a local database

Adding tables with Table Designer

Adding queries and views

Book V: Chapter 7: LINQ

Using LINQ to Query Integers

Finding Active Processes

Creating New Objects in the Query

Book VI: Going the Extra Mile

Book VI: Chapter 1: Building Solutions and Projects

Understanding Solutions and Projects

The anatomy of a build

Using the Build menu

Selecting the active build and platform

Dealing with compiler errors and output

Using Configuration Manager

Setting project configurations

Managing Your Builds

Handling Lone Ranger builds

Creating master builds

Automating builds

Book VI: Chapter 2: Deployment Options

Understanding Deployment Basics

Deploying Smart Client Applications

From No Touch to ClickOnce

Making a Windows Installer

Deploying Web Applications

Using the Publish Web Site utility

Handling web.config files for testing and production

Book VI: Chapter 3: Checking Out Source Control

Using Source Code Control with Visual Studio

How source code control works

Getting ready for source control

Binding to a Source Control Provider

Adding a blank solution

Adding an existing solution

Adding a project to an existing solution

Breaking a binding

Performing Common Source Control Tasks

Retrieving files from source control

Editing source-controlled files

Checking files into source control

Retrieving a solution or project from source control

Source Code Control in the Real World

Going Beyond Integration

Book VI: Chapter 4: Writing Custom Facebook Applications

Creating and Registering Your Application with Facebook

Creating Your Application with Visual Studio 2010

Writing your application code

Connecting your application to Facebook

Laying out your application

Querying Data from Facebook

Finding out about your friends

Accessing weather data for your friend’s location

Executing Your Application on Facebook

Book VII: Extending the Family

Book VII: Chapter 1: Exploring Visual Studio Extensions

Extending Visual Studio

Adding administration and troubleshooting tools

Downloading new programming tools for Vista and Office

Trying out development resources and new server products

Keeping up with developer blogs and other news sources

Exploring AJAX and the Atlas Library

Looking Ahead to the Next Visual Studio

Book VII: Chapter 2: Being a Team Player with Visual Studio Team System

Introducing the Visual Studio Team System

Implementing VSTS

Discovering more about VSTS

Exploring the New Role-Based Features of Visual Studio 2010 Ultimate

Visual Studio Ultimate for software architects

Visual Studio 2010 Ultimate for software developers

Visual Studio 2010 Ultimate for software testers

Visual Studio 2010 Ultimate for database professionals

Getting to Know Team Foundation Server

Accessing Team Foundation Server

Creating a new team project

Browsing with the Team Explorer

Creating work items with Excel

Visual Studio® 2010 All-in-One For Dummies®

by Andrew Moore

Visual Studio® 2010 All-in-One For Dummies®

Published byWiley Publishing, Inc.111 River St.Hoboken, NJ 07030-5774www.wiley.com

Copyright © 2010 by Wiley Publishing, Inc., Indianapolis, Indiana

Published simultaneously in Canada

No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.

Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, Making Everything Easier, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates in the United States and other countries, and may not be used without written permission. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.

Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Website may provide or recommendations it may make. Further, readers should be aware that Internet Websites listed in this work may have changed or disappeared between when this work was written and when it is read.

For general information on our other products and services, please contact our Customer Care Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002.

For technical support, please visit www.wiley.com/techsupport.

Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.

Library of Congress Control Number: 2010928464

ISBN: 978-0-470-53943-9

Manufactured in the United States of America

10 9 8 7 6 5 4 3 2 1

About the Author

Andrew Moore is an experienced software developer with 12 years of professional experience in the fields of radar systems, air traffic management, and discrete-event simulation. Most recently, Andrew has been working with Voice Over IP (VOIP) and business communications systems. Andrew has contributed to the Wrox Blox technical series with articles on WPF and audio playback with Direct Sound in C#.

Andrew is currently working as a Senior Software Engineer at Interactive Intelligence, Inc. in Indianapolis, developing server-side applications for multimedia business communication and automation systems.

Dedication

To God, my father in Heaven who has blessed me immensely in life, and my wife Barbara the light of my world, love of my life, and source of my inspiration, and to my children Sophia and Andrew who make my life complete and joyous, with eternal love and gratitude, I dedicate this book.

Publisher’s Acknowledgments

We’re proud of this book; please send us your comments through our online registration form located at www.dummies.com/register/.

Some of the people who helped bring this book to market include the following:

Acquisitions, Editorial, and Media Development

Project Editor: Kelly Ewing

Acquisitions Editor: Katie Feltman

Technical Editor: Russ Mullen

Editorial Manager: Jodi Jensen

Media Development Project Manager: Laura Moss-Hollister

Media Development Assistant Project Manager: Jenny Swisher

Editorial Assistant: Amanda Graham

Sr. Editorial Assistant: Cherie Case

Cartoons: Rich Tennant (www.the5thwave.com)

Composition Services

Project Coordinator: Katherine Crocker

Layout and Graphics: Carrie A. Cesavice, Ashley Chamberlain, Samantha K. Cherolis

Proofreaders: Rebecca Denoncour, Evelyn Wellborn

Indexer: Becky Hornyak

Publishing and Editorial for Technology Dummies

Richard Swadley, Vice President and Executive Group Publisher

Andy Cummings, Vice President and Publisher

Mary Bednarek, Executive Acquisitions Director

Mary C. Corder, Editorial Director

Publishing for Consumer Dummies

Diane Graves Steele, Vice President and Publisher

Composition Services

Debbie Stailey, Director of Composition Services

Introduction

Visual Studio 2010 is more than just the next version of Visual Studio to use with the next version of the .NET Framework. Visual Studio 2010 continues Microsoft’s attempt to position Visual Studio as a tool you can use for the upstream and downstream development activities that sandwich actual code writing. For example, you can use Visual Studio to visually model the entities you want to create in code. Unlike other modeling tools that have only a one-way relationship between the model and the code generation, your code stays synchronized with the model.

Visual Studio 2010 is a complete rewrite of the user interface, but don’t worry; the familiar commands and tools that you have come to know and love are still there. You’ll notice a completely revised, intuitive, and modern user interface that showcases the tremendous leaps that Visual Studio has made since the release of Visual Studio .NET back in 2002.

Visual Studio 2010 provides a dizzying array of editors, controls, designers, and supporting tools for developing software. Getting mired in the details of using these tools is a productivity killer. This book uses plain English to show you how to use Visual Studio 2010 to get busy building software while ignoring unnecessary details. Use this book to focus on the work that pays the bills and to

♦ Improve your individual efficiency and productivity as a developer.

♦ Display proficiency in selecting the right Visual Studio 2010 tools required to develop a solution.

♦ Employ Visual Studio 2010 to guide and improve your individual software-development practices or those of a team.

♦ Navigate the many project types, editors, and designers in Visual Studio 2010.

♦ Increase your confidence and professionalism in using the development environment of choice for developers of solutions based on the Microsoft platform.

♦ Determine the role of Visual Studio in your software development process, whether you’re working solo or on a team of 20.

Who Should Read This Book?

A little something for everyone is in this book, whether you’re brand-new to software development or an old pro. No matter what your skill level is, you need this book if you see yourself in any of these categories:

♦ New application developers: Whether you’re a student, a graduate who just landed your first programming job, or a power user looking to expand your horizons, you’ll find everything you need to get productive with Visual Studio 2010 Professional.

♦ Existing .NET developers: Not sure when you can make the jump to version 4 of the .NET Framework? Never fear. You can start using Visual Studio 2010 right now, with previous versions of the .NET Framework. I show you how, in Book II, Chapter 4. Plus, see how to convert your existing applications and use what you already know to get productive.

♦ Existing developers using other technologies: Whether you’re coming from Visual Basic 6 or Java, you’ll find lots of no-frills examples to help you get started with Visual Studio 2010.

♦ Advanced developers on the bleeding edge: Even if you’ve used the .NET Framework since it was in beta, this book shows you how to use Visual Studio 2010 for the latest guidance and best practices in software development.

Visual Studio 2010 isn’t just for developers anymore. Increasingly, software is developed as part of a team effort. Visual Studio 2010 has increased its scope to encompass more aspects of the software development life cycle. As a result, all roles on the team are increasingly affected. Regardless of your role, you may find this book helpful if you fill any of these roles:

♦ Managers, leads, and supervisors need to understand the productivity gains and best-practices guidance offered by Visual Studio 2010. These gains can be useful for improving team processes, as well as for evaluating programmer productivity.

♦ Architects, designers, and analysts will find new tools designed to improve collaboration among analysis, design, and implementation steps.

♦ Developers, testers, and technologists use Visual Studio 2010 to develop and test software. As such, this integral part of the software development process requires you to know how to harness its many features into a set of steps that supports a specific project’s development requirements.

About This Book

In this book, you find out how to use Visual Studio 2010 Professional Edition to build these types of applications:

♦ Windows applications

♦ Web sites and Web services

♦ Mobile applications

♦ Native applications using C++

You may be surprised that Visual Studio 2010 has moved way beyond building merely traditional applications. You can use it to build and manage solutions for SQL Server databases, SharePoint sites, Windows Workflow applications, BizTalk packages, and many other enterprise server solutions. I discuss most of these topics throughout the book.

The message of this book is mostly how to use Visual Studio to improve your personal productivity as a developer, whether you’re working solo or as part of a team.

The book focuses primarily on Visual Studio 2010 Professional Edition, although many examples work in other editions, too. Many developers, regardless of the size of their shops, use Visual Studio 2010 Professional Edition.

You can’t talk about Visual Studio 2010 without also covering the .NET Framework. This book covers the .NET Framework at a very high level and in the context of demonstrating the features of Visual Studio 2010.

The book is mostly “language agnostic,” although (just like in real life) the language best suited for the job is used to demonstrate the material. In most Microsoft shops, there is a preference for either Visual Basic or C#. For that reason, many chapters use Visual Basic examples when they could have just as easily used C# examples.

Despite the preceding statement, this book isn’t a learn-to-program book or a language-syntax book. If you’re new to programming, consider checking out a beginning programming book or course. If you’re a hobbyist or a new programmer, you may find all the tools in Visual Studio 2010 to be overwhelming or outside the bounds of your budget. In that case, consider using a Visual Studio Express Edition, which is free.

Foolish Assumptions

You’ll get the most out of this book if you already know how to use basic programming constructs, such as for loops and if...then statements. Even though this book doesn’t teach you how to program, it does share guidance and tips on the use of best practices. Even if you’ve never programmed, you can still use the examples in this book to start creating basic Windows and Web applications using Visual Studio 2010.

Here are some other assumptions this book makes about you:

♦ You have little or no experience with object-oriented programming (OOP). Becoming an OOP whiz takes many years of hands-on practice. This book can help lay the groundwork for your OOP training and show you the OOP features in Visual Studio 2010. Book III introduces you to OOP.

♦ You have little or no experience in using Visual Studio or the .NET Framework. If you have plenty of experience with Visual Studio or the .NET Framework, you can reuse that knowledge with this version of Visual Studio. Either way, you are walked through all the examples, step by step.

♦ You don’t have formal training in computer science. This book offers technical explanations of what Visual Studio is doing behind the scenes when it’s relevant to helping you understand the topic.

Conventions Used in This Book

This book uses a helpful set of conventions to indicate what needs to be done or what you see on-screen.

Stuff you type

When you are asked to type something, like a command or an entry in a text box, the text looks like this:

Type me

Menu commands

When you are given a specific set of menu commands to use, they appear in this format:

File⇒New⇒Web Site

In this example, you should click the File menu, choose the New menu item, and then choose the Web Site menu item.

Display messages

If a specific message is referred to that you see on your screen, it looks like this on the page:

This is a message displayed by an application.

All code in the book also looks like this.

How This Book Is Organized

This book is organized so that you don’t have to read it from cover to cover. To get the most out of the book, use the Table of Contents or Index to find specific topics. The seven mini-books cluster common tasks for which you might use Visual Studio 2010 to develop software. This section provides a brief overview of what you can find in each small book.

Book I: Visual Studio 2010 Overview

Book I is a good place to start if you’re new to Visual Studio or .NET, or just want a refresher. In Book I, you get the lowdown on using Visual Studio 2010 with the .NET framework and with all the programming languages supported in Visual Studio.

Book II: Getting Started with Visual Studio

Use Book II to get up and running with Visual Studio 2010. If you already installed Visual Studio 2010 and are familiar with making your way around the Visual Studio interface, you can fast-forward through most of Book II. You find out how to install and navigate Visual Studio 2010 and use Visual Studio to say in touch with the Microsoft community.

Book III: Coding

Book III shows you all the major Visual Studio features for designing, writing, and generating code. Whether you’re an experienced or novice programmer, you’re likely to come across something you haven’t seen yet. In Book III, you use the code editor to create source code and explore the basic language syntax of C# and Visual Basic. You also get a primer in object oriented programming and explore the class anatomy in .NET. Book III also shows you how to use Visual Studio to debug, analyze, and test your code.

Book IV: Basics of Building Applications with Visual Studio 2010

Visual Studio 2010 is all about creating applications. In Book IV, you dig into the kinds of applications you can create. In Book IV, you discover how to use Visual Studio to create C++ as well as .NET Windows and Web applications. You also discover new additions to the .NET framework for threads and parallel programming. Finally, you discover deploying your applications on the cloud with Windows Azure.

Book V: Getting Acquainted with Data Access

Nowadays, all applications require access to data. Book V surveys the vast array of data access features in Visual Studio 2010. Even a seasoned ADO.NET programmer should take a fresh look at the new data access code-generation features in Visual Studio because they can help you to explore data controls, create and manage connection strings, access data by using objects in a class library, model data from XML documents, and use Visual Studio for SQL Server 2008 projects.

Book VI: Going the Extra Mile

Visual Studio 2010 provides many features that take your productivity to new levels. At some point, all developers need to explore the topics covered in Book VI, such as configuring and managing the build process, keeping track of your code versions with source code control, and deploying Windows and Web application. In Book VI, you also discover creating applications for the Facebook social networking site.

Book VII: Extending the Family

Visual Studio 2010 is the development platform for many exciting new technologies being introduced by Microsoft. In Book VII, you explore how to find add-ons from Microsoft and other vendors to extend the features of Visual Studio 2010. You also explore Visual Studio 2010 and Team Foundation Server.

About the Companion Web Site

A companion Web site provides additional material. You can find it at www.dummies.com/go/vs2010. What you’ll find is a section for each small book. Inside each section are resources links and projects with the source code.

Icons Used in This Book

In a book stuffed to the gills with icons, the editors have decided to use — you guessed it — more icons. Luckily, however, the book’s icon set acts as visual signposts for specific stuff that you don’t want to miss.

Tip icons point out advice that can save you time, trouble, and, quite possibly, cash.

These tidbits are completely optional, but if you’re really into the technical side of things, you’ll find loads of interesting info here.

Always read the information next to this icon! These icons highlight pitfalls to avoid as you deploy your applications or put the power of Visual Studio 2010 into action.

As its name suggests, this icon highlights stuff that you might want to, well, remember.

This icon points out resources that you can find on the book’s companion Web site, which can help you further explore the topic being covered.

Book I

Visual Studio 2010 Overview

Contents at a Glance

Chapter 1: What Is Visual Studio?

From Source Code to Application: How Software Is Written

The Role of the Integrated Development Environment

Visual Studio as the Hub

The Keeper of .NET

Chapter 2: Exploring .NET

Following the Evolution of .NET

Getting Acquainted with the .NET Components

Peering into the Future of .NET

Chapter 3: Modern Software Development

Examining the Software Development Process

Looking at Software Engineering in Action

Components Defeat Monoliths

Managed Code Execution

Taking Out the Garbage

Chapter 4: The Languages of .NET

More than Just a Pretty Face: A Windows Application

Looking at the Languages of .NET

Choosing the Right Language for the Job

Becoming a Good Programmer

Chapter 5: The Many Editions of Visual Studio 2010

Making Sense of the Visual Studio Editions

Choosing the Right Edition

Developing When It’s a Team Effort

Chapter 6: New to Visual Studio 2010

Exploring Additional Programming Paradigms

Reaping the Benefits for Development Teams

Gaining Databases Support

Chapter 1: What Is Visual Studio?

In This Chapter

Figuring out Visual Studio’s role in software development

Seeing Microsoft’s vision for Visual Studio

Saying hello to .NET

To be truthful, building software that does more than just say something like “Hello world” requires more than just writing a few lines of code in a text editor. Who knew that business software could be so complex?

That’s where tools such as Visual Studio enter the picture. Visual Studio enables you to build software more quickly by offering an advanced editor, compiler, and debugger in a single, easy-to-use package.

From Source Code to Application: How Software Is Written

There are three parts to writing software:

♦ Creation of source code: This source code is human-readable and normally text-based. Source code comes in many flavors depending on the language used. (Chapter 4 contains a lot more information about languages.)

♦ Compilation: During compilation, the source code is translated into binary executable data. This data takes many forms, including a compiler such as the one built into Visual Studio, an interpreter such as the command line (which ultimately creates binary executable data), or a variety of intermediate steps, such as a Java Virtual Machine, which takes pseudocode and converts to binary executable.

♦ Execution of the program: This step takes place as part of the development process while testing and then independently when users run the software. Figure 1-1 displays a summary of this process.

The Visual Studio 2010 All-In-One Desk Reference For Dummies companion Web site at www.dummies.com/go/vs2010 has a list of the most popular and common tools that you can download from Microsoft. You can also find a link to a video presentation that shows the process of creating and executing programs.

Figure 1-1: The process of creating and running programs is divided into three parts.

A programming language is a language that humans can understand and use to write computer programs. Computers understand only binary executable data, which is why a compiler has to translate the program from the human-readable programming language into binary executable. For .NET managed applications, the process is a little different as the compiler creates tokenized executable in the Microsoft Intermediate Language (MSIL), which the Common Language Runtime (CLR) then turns into machine code executable by the computer.

Technically, all you need to write source code is Notepad. Notepad would suffice for batch files, HTML applications, and even .NET programs. (The common joke at many seminars you attend is that Notepad is a developer’s preferred HTML editor.) The .NET programs then can be compiled with one of the free .NET compilers, so why would you spend money on tools, such as Visual Studio, to develop software? The answer lies in the productivity that Visual Studio provides. It’s one-stop shopping with a built-in editor, several compilers, and the ability to execute compiled programs. This type of program is known as an Integrated Development Environment (IDE). In addition, Visual Studio has a vast array of utilities, such as Spy++, and a world-class debugger that I talk about in Book III, Chapter 7.

You used to be able to access many programming tools from the command line. Using tools such as the Microsoft Assembler (MASM) (I still have a copy of it), I created many executables from the command line before IDEs even arrived on the scene. However, you can work with the .NET Framework without ever installing a copy of Visual Studio. (See the article at www.devsource.com/article2/0,1895,1955461,00.asp for a description of how you can create a .NET application using just Notepad and the .NET Framework. While this article covers JScript, you can use this technique for VB.NET and C#, too.)

Have you ever viewed an executable program (such as an .EXE or .DLL file) with Notepad? When you do, all you see is strange-looking characters. It’s not human-readable because someone wrote the program with a human-readable language and then compiled it into machine code. You can get a better (or more accurate) view of machine code by using a hex editor like XVI32 (www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm) or a disassembler, such as Debug.exe (look in the \WINDOWS\system32 folder). However, the managed code that Visual Studio outputs is tokenized Intermediate Language (IL) code, not native code. Consequently, you use ILDASM.exe instead to view the output.

Just to be completely accurate, .NET language compilers don’t exactly create machine code. Technically, they create intermediate code (or Microsoft intermediate language — MSIL). It’s an intermediate step to machine code that is still not human-readable. When the operating system (OS) encounters MSIL code, it performs a compilation before the application actually runs. This process is known as just-in-time (JIT) compilation.

The Role of the Integrated Development Environment

Language compilers and all the tools you need to start writing computer programs are available for free. Most vendors provide software development kits (SDKs) that provide all the tools you need to edit code and compile it. But the Visual Studio IDE offers much more than an easy way to edit, compile, and execute programs. The following list shows reasons that Visual Studio should be carefully considered as a significant productivity boost to Notepad programming.

♦ An integrated debugger

♦ IntelliSense

♦ Project management

♦ Templates

♦ A comprehensive help system

One of the most popular SDKs for software development supports using the Microsoft family of languages, usually either C# or Visual Basic. You can download the Microsoft .NET SDK for free from the Microsoft .NET Framework Developer Center at http://msdn.microsoft.com/en-us/netframework/aa569263.aspx.

If you have Visual Studio 2010 installed, the SDK is already installed.

SDKs are an inexpensive way to play around with new tools or keep your skills updated in new or unfamiliar technologies.

Tools beyond the basic three

Developing software requires all kinds of tools. At the minimum, you need a text editor and a compiler, as described in the section “From Source Code to Application: How Software Is Written,” earlier in this chapter. As you might guess, however, other tools greatly assist development. In addition to an editor and compiler, you need tools for

♦ Testing and debugging: You can step through your code one line at a time to resolve errors with a debugger.

♦ File linking: Link all the files you need to build an entire application.

♦ Configuration management: Manage the configuration settings for everything from file locations to compiler settings.

♦ Code editing: Write code without having to memorize the syntax for a programming language. These tools, which have some intelligence about how to use the program language, can provide suggestions or context-sensitive help as you write code.

♦ Deployment: Easily deploy your compiled application to other computers, where it can be executed.

When you download an SDK, you get some of the preceding tools, as well as many others. The problem you quickly discover is that managing all these individual tools is cumbersome. Plus, many of the tools are command-line tools — you get no point-and-click convenience here.

That’s when the idea hits you: “Hey, wouldn’t it be great if all these other tools were integrated into a single tool?” That’s exactly what an IDE does: It puts all the individual tools — the intelligent code editor, the debugger, and the configuration manager — into a single tool where they can interact with one another.

Enter Visual Studio

The Microsoft IDE is Visual Studio. Visual Studio 2010 is the latest version of this product. Some editions of Visual Studio are better suited to individual developers, whereas others are geared toward developing software in a team setting. (See Book I, Chapter 5 for more details on these editions and how to choose the edition that’s right for you.)

With Visual Studio 2010, you get these features:

♦ Programming languages, such as Visual Basic .NET and C#: See Book I, Chapter 4 for more details on the languages you can use with Visual Studio 2010.

♦ Technologies for building high-quality software, such as Windows applications, Web-based applications, Web services, and applications for mobile devices (such as smartphones): Book III shows you how to use Visual Studio 2010 to build applications.

♦ Data access tools that allow you to access data from any of the popular database management systems, such as Microsoft SQL Server or Oracle: You can also access text files and XML files. Book IV covers the data access capabilities of Visual Studio 2010.

♦ Tools for debugging, designing, testing, and deploying applications: Book VI covers many of these tools.

✦ All the features of the Microsoft .NET Framework, which provides a rich set of features that allows you to work at a higher level of abstraction: Book I,Chapter 2 discusses the evolution of .NET, and Chapter 3 describes the services of .NET.

You aren’t restricted to using Visual Studio just for Microsoft .NET, nor is the popular open source editor Eclipse limited to Java. You can use Visual Studio to create Java applications, or you can create .NET applications by using Eclipse.

You can use multiple programming languages, thanks to the nature of IDEs. All the various tools that are integrated into an IDE can be created by multiple vendors. Instead of restricting you to just the set of tools that comes with a particular IDE, a plug-in allows you to use additional tools created by third-party vendors or the open source community.

To download the Visual Studio plug-in named Grasshopper (which allows you to create Java applications), go to http://dev.mainsoft.com. You can find plug-ins for Eclipse at www.improve-technologies.com.

Why would you want to mix up your languages with your IDE? The answer is productivity. In the same way that using a single tool (such as an IDE) is better than using 12 different tools, using an IDE that you’re already familiar with is more productive than switching to a new IDE. So, if you work in a company that develops Microsoft applications primarily using Visual Studio, you can also use it to create Java applications. You don’t need to learn to use a whole new tool, such as Eclipse.

A podcast that talks about the compilation process is available on this book’s companion Web site. You can find the link from the page at www.dummies.com/go/vs2010.

Visual Studio as the Hub

As if the integration of tools weren’t enough, Microsoft has something else in mind for Visual Studio: It envisions Visual Studio as the hub for all the server applications with which a developer might interact.

For example, instead of accessing Microsoft SQL Server by using the tools for that server, you can access SQL Server features right inside Visual Studio. In the future, Visual Studio will integrate with even more server applications. In this way, Visual Studio is the hub of all your interactions with your company’s information technology environment — assuming, of course, that you’re strictly a Microsoft shop.

Microsoft has another kind of hub in mind for Visual Studio. The company realized that software development involves more than just coding like a madman. In fact, writing code usually involves only one-quarter to one-third of the effort involved in building software. The rest of the project’s time is spent gathering and analyzing requirements, creating models that explain those requirements, and refining those models into tangible designs that are ultimately translated into code. After the code is written, the software has to be thoroughly tested and bugs tracked and maintained.

Many developers use everything from pen and paper to third-party tools to perform the rest of the tasks involved in building software. Microsoft saw an opportunity to bring all this activity under the Visual Studio umbrella. In the past, a developer may have used Visio to create models and NUnit to automate code testing. Now, all these tools are integrated in Visual Studio, and they work together.

The tools work together so well that a model you create in Visual Studio can even generate code. Visio could do that, for example. The model in Visual Studio, however, updates to reflect changes that you make in the code itself!

Microsoft also realized that software development doesn’t happen in a vacuum. The days of hotshot developers isolating themselves for weeks at a time to build the next big applications are long gone. Companies have finally realized that this approach to software development isn’t sustainable.

Instead, a company usually has a team of developers, often with specialized roles, working on a project at the same time. By acknowledging that software developer means more than just programmer, Microsoft has expanded Visual Studio with its Team Foundation version to become the hub of a company’s team development activities. (See Book I, Chapter 5 for more information about the different versions of Visual Studio.)

A team using Visual Studio can log a software bug, associate the bug with a section of code, assign the task of fixing the bug to a developer on the team, and track the resolution of the bug. All this happens in Visual Studio!

Microsoft’s goal (in addition to increased profits) is for Visual Studio to become the personal productivity tool for software developers. In the same way that Microsoft Office has increased the productivity of office workers by freeing them from typewriters and calculators, Microsoft intends for Visual Studio to create a new standard of productivity for individual software developers and the teams on which they work.

The Keeper of .NET

The .NET Framework is the Microsoft platform for creating modern Windows, Web, and mobile software applications. Although the platform provides the steam that makes your applications go, the Visual Studio 2010 development environment allows you to harness that power. The power of .NET is made accessible by Visual Studio, and its widespread use wouldn’t be possible otherwise.

Back in the good old days of software development, before frameworks like .NET existed, developers had to write a lot of code to do simple tasks, such as open a file and display its contents on the screen. In an effort to simplify repetitive tasks, many programming languages started providing helper functions that developers could call. Development environments, such as Visual Studio, were often tailored for use with a specific programming language, such as Visual Basic.

Helper functions were created to do just what their name implies: Help developers do something they needed to do. Instead of having to interact with the OS and telling it to find a file and open it for reading, all a developer had to do was call a helper function and then tell the function the name and location of the file to open. The helper function would then “talk to” the OS and return the file’s contents. The developer could use another helper function to display the returned contents on-screen. If the developer then decided to give the user the option to print the file’s content, another helper function handled all the details of printing the file.

These helper functions improved a developer’s productivity and enabled that person to work at a higher level of abstraction. Over the years, companies such as Sun and Microsoft that make software development tools realized that developers needed a little more than just helper functions. Common software development problems had to be solved, such as how to

♦ Manage memory

♦ Ensure that code is secure

♦ Allow programs to be moved easily from one hardware platform to another, such as from Windows to Linux

The solution to this problem was to create a virtual hosting environment in which software applications could run. This host, also known as a virtual machine or runtime engine, provides services such as file IO and memory management to the software that is executed inside the host. The Sun version of the virtual machine is Java. The Microsoft version is the .NET Framework, also referred to as just .NET or Microsoft .NET.

The .NET Framework is more than just a simple set of helper functions. Applications that are created with the .NET Framework are hosted in a virtual machine called the CLR. Therefore, before a computer can run an application that you build by using .NET, the .NET Framework must be installed on the computer. The version of the framework that’s installed is the .NET Framework Redistributable, which is a free download from the Microsoft Web site. Many new computers have the .NET Framework Redistributable already installed, and most corporations are installing the Redistributable on all their computers.

By running your application in the .NET framework, your application can take advantage of the many services that .NET provides.

You can download the Microsoft .NET SDK to get the tools you need to start building software. To fully capitalize on all the development features of .NET, however, you need Visual Studio.

Book I, Chapter 6 shows you the new features of Visual Studio 2010. They’re not just new features, though; some can be seen as new paradigms, such as the Cloud Computing support.

Chapter 2: Exploring .NET

In This Chapter

Discovering how .NET has evolved

Sneaking a peek at the components of .NET

Looking into the future of .NET

In an attempt to mitigate the increasing complexity of building software, Microsoft released a new set of tools in 2002 (although the first beta was released in July 2000) for building software: the Microsoft .NET Framework.

The .NET Framework provided the plumbing necessary to write complex applications. In the past, I remember getting some really tough assignments with the expectation that they would be done in a few weeks. Although the business logic was fairly easy, the infrastructure was not. Some of the more complicated assignments I encountered included programs that had to communicate over the Internet, create graphically appealing reports, or perform complex database access. At that time, those tasks were difficult. Now, the .NET Framework makes them easy — almost trivial.

.NET is a reflection of the latest thinking about, and best practices for, how software should be developed. Visual Studio is the premiere toolset that Microsoft created for developing software by using the .NET Framework. Although the road to Microsoft .NET and Visual Studio has been misunderstood by some at times, most developers agree that using Visual Studio to develop Microsoft .NET applications is a huge productivity boon.

Following the Evolution of .NET

Microsoft released the first version of .NET in 2002. Because Microsoft tried to append the .NET moniker to all its initiatives, from software development tools to enterprise servers to operating systems, .NET initially suffered from an identity crisis. Thanks to the ubiquitous use of the term by Microsoft, however, .NET is now as much a brand as it is a technology.

Six versions of .NET have been released. Each of these versions represents a milestone in developing software with .NET:

♦ Version 1.0: Released in 2002 with the Visual Studio .NET integrated development environment. In version 1.0, all development — whether Windows-based or Web-based, and regardless of the language — was integrated into Visual Studio. Prior to the release of .NET, each Microsoft development tool was a separate product.

The object-oriented language C# was created as part of .NET. Visual Basic was completely revamped to be object oriented. Many Visual Basic developers felt betrayed, and Microsoft has had a hard time convincing them to make the leap.

Data access was greatly simplified with ADO.NET, and ASP.NET was introduced for developing Web applications. Even though these technologies share the same names as their predecessors (ADO and ASP), the resemblance stops there. Like all .NET technologies, ADO.NET and ASP.NET are object oriented.

♦ Version 1.1: Released in 2003 with Visual Studio .NET 2003. With version 1.1 of .NET, many 1.0 features that either weren’t ready yet (such as the Compact Framework for devices such as the PocketPC) or were available separately from Visual Studio (such as ASP.NET) were completely integrated into Visual Studio .NET 2003. Version 1.1 was more stable and more widely accepted. During this time, the Microsoft .NET brand became diluted from overuse.

♦ Version 2.0: Released in October 2005 with Visual Studio 2005. In the two years between the release of versions 1.1 and 2.0, the dot-net community — as the collective of .NET developers is often called — busily wrote applications that demonstrated how powerful .NET could be. Microsoft listened, and many of the suggestions for ways to extend .NET, which were written about in articles on Web sites such as www.gotdotnet.com and www.4guysfromrolla.com, were implemented as new features in the 2.0 version of .NET. As of this writing the GotDotNet site has been shut down, and the MSDN Code Gallery at http://code.msdn.microsoft.com has replaced it.

For the release of .NET 2.0, Microsoft dropped the .NET suffix from its nondevelopment software. .NET now refers to just the application platform — the .NET Framework.

Visual Studio 2005 matured into more than a mere coding environment and can now manage many aspects of the software development lifecycle. The Team System version of the product uses a server-based component as a data repository. C# established itself as a rock-solid, object-oriented language. MSDN, the Microsoft Developers Network, became more tightly integrated with the Visual Studio product.

♦ Version 3.0: Released in November 2006 with the Windows Vista OS. Version 3.0 combined version 2.0 with four new technologies:

• Windows Presentation Foundation (WPF): Gave developers the capability to create much richer applications by providing better controls. It helped separate the user interface (UI) from the business logic. It also assisted developers who wanted a consistent UI between desktop applications and Web-based applications.

• Windows Communication Foundation (WCF): Provided easier and more robust communications between connected systems. It is built on the Web services technology.

• Windows Workflow Foundation (WF): Enabled developers to create workflows by using a new XML-based language named XAML.

• Windows CardSpace: This security framework helped users to manage identities that can be used in transactions such as Web site logins.

♦ Version 3.5: Released in October 2007 with Visual Studio 2008. Version 3.5 builds incrementally on version 3.0. In addition, it adds the following:

• Language Integrated Query (LINQ)

• Integrated use of Asynchronous JavaScript and XML (AJAX)

• Full support for WF, WCF, and WPF

♦ Version 4.0: Released in April 2010 with Visual Studio 2010. Version 4.0 builds on version 3.5 and adds the following:

• Parallel processing

• Entity Framework

• Support for cloud computing

• The F# programming language

With the Microsoft .NET, Microsoft developers can stand toe-to-toe with Java developers and know that they can use almost all the same language and development features. And, with Visual Studio 2010, many developers’ favorite third-party tools are part of the IDE, which boosts productivity immensely. At the same time, the Microsoft Team Foundation edition of Visual Studio 2010 draws a line in the sand, positioning Visual Studio and Microsoft .NET as the tools of choice for enterprise software development.

Getting Acquainted with the .NET Components

To fully grasp how all the pieces of .NET work together, you first need a basic understanding of all those pieces. At a very high level, you can think of .NET in terms of

♦ The .NET Framework: All the software that makes Visual Studio possible

♦ The .NET Software Development Kit (SDK): All the software that enables you to build software applications by using the .NET Framework

You can download both the .NET Framework and the SDK for free from Microsoft at www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en.

♦ The programming languages of .NET: The four languages that Microsoft offers (in addition to dozens more that are available from third parties):

• VB.NET (Visual Basic)

• C#

• C++

• F#

See Book I, Chapter 4 for more on these languages.

A language that can be used to develop .NET applications is said to target the .NET Framework.

♦ The technologies of .NET: All the stuff you can build with .NET, such as Windows and Web applications, Web services, and mobile devices, such as smartphones

♦ Visual Studio: The IDE that puts access to everything in this list at a developer’s fingertips

The default languages of .NET are also free in the sense that you can learn the language syntax and use any text editor to write it. The compiler is the tool that you need to convert the programming language to a language the machine can understand, and it’s also free. The compiler is part of the .NET Framework. (If you install a third-party language product, then that third-party product will have its own compiler and may not be free.)

To take full advantage of the languages and technologies of .NET in a seamless way, however, you need Visual Studio.

.NET freebies

To start developing .NET applications, all you need is the .NET Framework and the .NET SDK. The .NET Framework provides the bulk of the functionality; however, you need the SDK in order to write code for the .NET Framework.

The Microsoft .NET Framework consists of these three free components, which become resident when the .NET Framework is installed:

♦ Common Language Runtime (CLR): The CLR provides a managed environment for running software applications. Developers access the features of the CLR through the Base Class Library (see later bullet1). Some features of the CLR, such as automatic memory management, just happen. (The developer doesn’t do anything.)

♦ Common Type System (CTS): The CTS sets the rules for how programming languages that use the .NET Framework must behave. New languages can then be developed for use with .NET.

♦ Base Class Library (BCL): The BCL is the part of the .NET Framework that developers get to “touch.” The BCL enables developers to create Windows- and Web-based UIs and to access databases and services of the operating systems.

Because the .NET Framework is complex, a detailed discussion of every aspect of the Framework is beyond the scope of this book. Knowing all the details of the inner workings of the .NET Framework isn’t necessary for most developers, anyway, which is part of the reason why Visual Studio is such a valuable tool. It allows developers to access the features of the .NET Framework at a higher level of abstraction and “hides” the implementation details.

The .NET Framework SDK provides developers with free tools they can use to access the .NET Framework. In addition to some general utilities, the SDK contains tools to help you

♦ Manage configuration and deployment and configure the .NET Framework

♦ Debug software and manage security

Language compilers are installed with the .NET Framework.