Introduction

Visual Studio 2008 is an enormous product no matter which way you look at it. Incorporating the latest advances in Microsoft's premier programming languages, Visual Basic and C#, along with a host of improvements and new features in the user interface, it can be intimidating to both newcomers and experienced .NET developers.

Professional Visual Studio 2008 looks at every major aspect of this developer tool, showing you how to harness each feature and offering advice about how best to utilize the various components effectively. It shows you the building blocks that make up Visual Studio 2008, breaking the user interface down into manageable chunks for you to understand.

It then expands on each of these components with additional details about exactly how it works both in isolation and in conjunction with other parts of Visual Studio to make your development efforts even more efficient.

Who This Book Is For

Professional Visual Studio 2008 is for all developers new to Visual Studio as well as those programmers who have some experience but want to learn about features they may have previously overlooked.

If you are familiar with the way previous versions of Visual Studio worked, you may want to skip Part I, which deals with the basic constructs that make up the user interface, and move on to the remainder of the book where the new features found in Visual Studio 2008 are discussed in detail.

If you're just starting out, you'll greatly benefit from the first part, where basic concepts are explained and you're introduced to the user interface and how to customize it to suit your own style.

This book does assume that you are familiar with the traditional programming model, and it uses both the C# and Visual Basic languages to illustrate features within Visual Studio 2008. In addition, it is assumed that you can understand the code listings without an explanation of basic programming concepts in either language. If you're new to programming and want to learn Visual Basic, please take a look at Beginning Visual Basic 2008 by Thearon Willis and Bryan Newsome. Similarly, if you are after a great book on C#, track down Beginning Visual C# 2008, written collaboratively by a host of authors.

What This Book Covers

Microsoft Visual Studio 2008 is arguably the most advanced integrated development environment (IDE) available for programmers today. It is based on a long history of programming languages and interfaces and has been influenced by many different iterations of the theme of development environments.

The next few pages introduce you to Microsoft Visual Studio 2008, how it came about, and what it can do for you as a developer. If you're already familiar with what Visual Studio is and how it came to be, you may want to skip ahead to the next chapter and dive into the various aspects of the integrated development environment itself.

A Brief History of Visual Studio

Microsoft has worked long and hard on its development tools. Actually, its first software product was a version of BASIC in 1975. Back then, programming languages were mainly interpretive languages in which the computer would process the code to be performed line by line. In the past three decades, programming has seen many advances, one of the biggest by far being development environments aimed at helping developers be efficient at producing applications in their chosen language and platform.

In the 32-bit computing era, Microsoft started releasing comprehensive development tools, commonly called IDEs (short for integrated development environments), which contained not just a compiler but also a host of other features to supplement it, including a context-sensitive editor and rudimentary IntelliSense features that helped programmers determine what they could and couldn't do in a given situation. Along with these features came intuitive visual user interface designers with drag-and-drop functionality and associated tool windows that gave developers access to a variety of properties for the various components on a given window or user control.

Initially, these IDEs were different for each language, with Visual Basic being the most advanced in terms of the graphical designer and ease of use, and Visual C++ having the most power and flexibility. Under the banner of Visual Studio 6, the latest versions of these languages were released in one large development suite along with other "Visual" tools such as FoxPro and InterDev. However, it was obvious that each language still had a distinct environment in which to work, and as a result, development solutions had to be in a specific language.

One Comprehensive Environment

When Microsoft first released Visual Studio .NET in 2002, it inherited many features and attributes of the various, disparate development tools the company had previously offered. Visual Basic 6, Visual InterDev, Visual C++, and other tools such as FoxPro all contributed to a development effort that the Microsoft development team mostly created on its own. The team had some input from external groups, but Visual Studio .NET 2002 and .NET 1.0 were primarily founded on Microsoft's own principles and goals.

Visual Studio .NET 2003 was the next version released, and it provided mostly small enhancements and big fixes. Two years later, Visual Studio 2005 and the .NET Framework 2.0 were released. This was a major new edition with new foundation framework classes that went far beyond anything Microsoft had released previously. However, the most significant part of this release was realized in the IDE where the various components fit together in a cohesive way to provide you with an efficient tool set where everything was easily accessible.

The latest release, Visual Studio 2008 and .NET Framework 3.5, builds on this strong foundation. LINQ promises to revolutionize the way you access data, and features that were previously separate downloads, such as ASP.NET AJAX and Visual Studio Tools for Office, are now included by default.

The Visual Studio 2008 development environment (see Figure I-1) takes the evolution of Microsoft IDEs even further along the road to a comprehensive set of tools that can be used regardless of your purpose as a developer. A quick glance at Figure I-1 shows the cohesive way in which the various components fit together to provide you with an efficient tool set with everything easily accessible.

Figure I.1. Figure I-1

Visual Studio 2008 comes in several versions: Express, Standard, Professional, and Team System (to be accurate, there are four distinct flavors of Team System for different roles, but their core Visual Studio functionality remains the same). The majority of this book deals with the Professional Edition of Visual Studio 2008, but some parts utilize features found only in Team System. If you haven't used Team System before, read through Chapters 54 to 58 for an overview of the features it offers over and above the Professional Edition.

How This Book Is Structured

This book's first section is dedicated to familiarizing you with the core aspects of Visual Studio 2008. Everything you need is contained in the first five chapters, from the IDE structure and layout to the various options and settings you can change to make the user interface synchronize with your own way of doing things.

From there, the remainder of the book is broken into 11 parts:

  • Getting Started: In this part, you learn how to take control of your projects, how to organize them in ways that work with your own style, and how to edit application configuration and XML resource files.

  • Languages: The .NET languages continue to evolve to support new features that are added to the framework. In the latest version of the framework, enhancements were added to support the introduction of LINQ, namely implicit typing, object initialization, and lambda expressions. Add these to features introduced in earlier versions, such as generics and partial types, and you've got an extremely expressive and powerful framework for building applications. This part covers all these features and more.

  • Coding: Though the many graphical components of Visual Studio that make a programmer's job easier are discussed in many places throughout this book, you often need help when you're in the process of actually writing code. This part deals with features that support the coding of applications such as IntelliSense, code refactoring, and creating and running unit tests.

  • Data: A large proportion of applications use some form of data storage. Visual Studio 2008 and the .NET Framework include strong support for working with databases and other data sources. This part examines how to use DataSets, the Visual Database Tools, LINQ, and Synchronization Services to build applications that work with data.

  • Security: Application security is a consideration that is often put off until the end of a development project or, in all too many cases, ignored completely. Rather than follow the trend and leave this topic to the end of the book, it is placed in a more appropriate place.

  • Platforms: For support building everything from Office add-ins to mobile applications, Visual Studio enables you to develop applications for a wide range of platforms. This part covers the application platforms that have always been supported, including ASP.NET, Office, and Mobile, as well as the application types that were introduced with .NET 3.0 (WPF, WCF, and WF). At the end of this part, you'll find a chapter on building the next-generation web with Silverlight 2 and ASP.NET MVC.

  • Configuration and Internationalization: The built-in support for configuration files allows you to adjust the way an application functions on the fly without having to rebuild it. Furthermore, resource files can be used to both access static data and easily localize an application into foreign languages and cultures. This part of the book shows how to use .NET configuration and resource files.

  • Debugging: Application debugging is one of the more challenging tasks developers have to tackle, but correct use of the Visual Studio 2008 debugging features will help you analyze the state of the application and determine the cause of any bugs. This part examines the rich debugging support provided by the IDE.

  • Build and Deployment: In addition to discussing how to build your solutions effectively and getting applications into the hands of your end users, this part also deals with the process of upgrading your projects from previous versions.

  • Automation: If the functionality found in the previous part isn't enough to help you in your coding efforts, Microsoft has provided many other features related to the concept of automating your programming work. This part starts by looking at the automation model, and then discusses add-ins and macros.

  • Visual Studio Team System: Visual Studio Team System gives organizations a single tool that can be used to support the entire software lifecycle. The final part of the book examines the additional features only available in the Team System versions of Visual Studio 2008. In addition, you'll also learn how the Team Foundation Server provides an essential tool for managing software projects.

Though this breakdown of the Visual Studio feature set provides the most logical and easily understood set of topics, you may need to look for specific functions that will aid you in a particular activity. To address this need, references to appropriate chapters are provided whenever a feature is covered in more detail elsewhere in the book.

What You Need to Use This Book

To use this book effectively, you'll need only one additional item — Microsoft Visual Studio 2008 Professional Edition. With this software installed and the information found in this book, you'll be able to get a handle on how to use Visual Studio 2008 effectively in a very short period of time.

Some chapters discuss additional products and tools that work in conjunction with Visual Studio. The following are all available to download either on a trial basis, or for free:

  • Sandcastle: Using Sandcastle, you can generate comprehensive documentation for every member and class within your solutions from the XML comments in your code. XML comments and Sandcastle are discussed in Chapter 9.

  • F#: A multi-paradigm functional language, F# was incubated out of Microsoft Research in Cambridge, England. Chapter 15 covers the F# programming language.

  • Code Snippet Editor: This is a third-party tool developed for creating code snippets in Visual Basic. The Snippet Editor tool is discussed in Chapter 17.

  • SQL Server 2005: The installation of Visual Studio 2008 includes an install of SQL Server 2005 Express, enabling you to build applications that use database files. However, for more comprehensive enterprise solutions, you can use SQL Server 2005 instead. Database connectivity is covered in Chapter 22.

  • Silverlight 2: Silverlight 2 is a cross-platform, cross-browser runtime that includes a lightweight version of the .NET Framework and delivers advanced functionality such as vector graphics, animation, and streaming media. Silverlight 2 is discussed in Chapter 37.

  • ASP.NET MVC: The ASP.NET MVC framework provides a way to cleanly separate your application into model, view, and controller parts, thus enabling better testability and giving you more control over the behavior and output produced by your web application. Chapter 37 explains how to build applications with the ASP.NET MVC framework.

  • Web Deployment Projects: Using a Web Deployment Project, you can effectively customize your application so that it can be deployed with a minimal set of files. Web Deployment Projects are covered in Chapter 50.

  • Visual Studio 2008 Team System: A more powerful version of Visual Studio, Team System introduces tools for other parts of the development process such as testing and design. Team System is discussed in Chapters 5458.

Conventions

To help you get the most from the text and keep track of what's happening, we've used a number of conventions throughout the book.

Tips, hints, tricks, and asides to the current discussion are offset and placed in italics like this.

As for styles in the text:

  • We highlight new terms and important words when we introduce them.

  • We show keyboard strokes like this: Ctrl+A.

  • URLs and code that are referenced within the text use this format: persistence.properties.

  • We present code in two different ways:

    Normal code examples are listed like this.
    In code examples we highlight important code with a gray background.

Source Code

As you work through the examples in this book, you may choose either to type in all the code manually or to use the source code files that accompany the book. All of the source code used in this book is available for download at www.wrox.com. Once at the site, simply locate the book's title (either by using the Search box or by using one of the title lists) and click the Download Code link on the book's detail page to obtain all the source code for the book.

Because many books have similar titles, you may find it easiest to search by ISBN; this book's ISBN is 978-0-470-22988-0.

Once you download the code, just decompress it with your favorite compression tool. Alternatively, you can go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx to see the code available for this book and all other Wrox books.

Errata

We make every effort to ensure that there are no errors in the text or in the code. However, no one is perfect, and mistakes do occur. If you find an error in one of our books, such as a spelling mistake or faulty piece of code, we would be very grateful for your feedback. By sending in errata you may save another reader hours of frustration, and at the same time you will be helping us provide even higher quality information.

To find the errata page for this book, go to www.wrox.com and locate the title using the Search box or one of the title lists. Then, on the book details page, click the Book Errata link. On this page you can view all errata that have been submitted for this book and posted by Wrox editors. A complete book list, including links to each book's errata, is also available at www.wrox.com/misc-pages/booklist.shtml.

If you don't spot "your" error on the Book Errata page, go to www.wrox.com/contact/techsupport.shtml and complete the form there to send us the error you have found. We'll check the information and, if appropriate, post a message to the book's errata page and fix the problem in subsequent editions of the book.

p2p.wrox.com

For author and peer discussion, join the P2P forums at http://p2p.wrox.com. The forums are a web-based system for you to post messages relating to Wrox books and related technologies, and to interact with other readers and technology users. The forums offer a subscription feature to e-mail you topics of interest of your choosing when new posts are made to the forums. Wrox authors, editors, other industry experts, and your fellow readers are present on these forums.

At http://p2p.wrox.com you will find a number of different forums that will help you not only as you read this book, but also as you develop your own applications. To join the forums, just follow these steps:

  1. Go to http://p2p.wrox.com and click the Register link.

  2. Read the terms of use and click Agree.

  3. Complete the required information to join as well as any optional information you wish to provide and click Submit.

  4. You will receive an e-mail with information describing how to verify your account and complete the joining process.

You can read messages in the forums without joining P2P, but in order to post your own messages, you must join.

Once you join, you can post new messages and respond to messages other users post. You can read messages at any time on the Web. If you would like new messages from a particular forum e-mailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing.

For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works as well as many common questions specific to P2P and Wrox books. To read the FAQs, click the FAQ link on any P2P page.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.223.172.132