Programming with the Microsoft .NET Framework using Microsoft Visual Studio 2005 (4995A)

This five-day instructor-led course enables developers who are migrating from a different development language, an earlier version of Visual Basic .NET or Visual C#, or who have completed entry-level training and experience using Microsoft Visual Studio 2005, to gain in-depth guidance on programming the Microsoft .NET Framework versions 2.0 and 3.0 with Visual Studio 2005.

Audience Profile
The target audience for this course is developers who already have professional programming experience in C, C++, earlier versions of Visual Basic .NET or Visual C#, Java, or another programming language, and who plan to use Visual Studio 2005 to develop enterprise business solutions.

Before attending this course, students must have:
  • Professional experience with programming in C, C++, earlier versions of Visual Basic or C#, Java, or another programming language.
  • Familiarity with the Microsoft .NET Framework strategy as described on the Microsoft .NET Homepage at
  • Familiarity with the .NET Framework versions 2.0 and 3.0 as described on the MSDN Developer Center site at

After completing this course, students will be able to:
  • Describe the .NET Framework.
  • Create applications with Visual Studio 2005.
  • Describe Visual Basic .NET and Visual C# language and syntax features.
  • Use essential object-oriented programming features.
  • Use advanced object-oriented programming features.
  • Explain security in the .NET Framework.
  • Access data by using ADO.NET.
  • Build Windows Presentation Foundation applications.
  • Describe distributed applications, and create distributed applications with Windows Communication Foundation.
  • Monitor .NET Framework applications by using instrumentation.
  • Compile, test, and deploy .NET Framework applications.
  • Interoperate with unmanaged code (optional).
  • Describe software design and development (optional).
Show details
Course Outline

Module 1: Overview of the Microsoft .NET Framework

This module introduces the key features and components of the Microsoft .NET Framework 2.0. The module also provides an overview of Microsoft .NET Framework 3.0 technologies, and describes how they relate to version 2.0 of the .NET Framework.
  • Introduction to the .NET Framework
  • .NET Framework 3.0 Technologies

Module 2: Creating Applications with Visual Studio 2005
This module introduces the key features of the Visual Studio 2005 integrated development environment (IDE), and describes how to create and manage solutions, projects, and other resources. The module highlights many of the new features in Visual Studio 2005 that help to simplify and accelerate application development.
  • Introduction to Visual Studio 2005
  • Managing Solutions and Projects
  • Managing the Integrated Development Environment
  • Writing Code with Visual Studio 2005

Module 3: Examining Language and Syntax Features
This module introduces fundamental language features in C# and Visual Basic, including variable declarations, control flow constructs, and exception handling. The module also describes new language features introduced in Visual Studio 2005.
  • Syntax Basics
  • Language Enhancements

Module 4: Essentials of Object-Oriented Programming
This module introduces students to the essentials of object-oriented programming, defines important terminology, and shows the syntax for defining classes and creating instances.
  • Object-Oriented Programming Concepts
  • Defining a Class
  • Creating a Class Instance

Module 5: Advanced Object-Oriented Programming
This module describes how to use inheritance and interfaces. The module also introduces delegates and events, and describes how to use them in .NET Framework applications.
  • Advanced Object-Oriented Programming Concepts
  • Implementing Inheritance
  • Defining and Implementing Interfaces
  • Creating and Using Delegates and Events

Module 6: Security in the .NET Framework
This module introduces the concept of security, and describes how to use code access security and role-based security. The module also introduces the cryptographic services available in the .NET Framework.
  • Security Overview
  • Implementing Code Access Security
  • Implementing Role-Based Security
  • Using Cryptographic Services

Module 7: Accessing Data by Using ADO.NET
This module describes how to access data programmatically in a relational database, by using ADO.NET. The module also describes how to read and write XML data, and introduces the classes in the XML Document Object Model (DOM).
  • Overview of Data Access
  • Reading and Writing Relational Data
  • Reading and Writing XML Data

Module 8: Building Windows Presentation Foundation Applications
This module describes the key features of Windows Presentation Foundation and introduces Extensible Application Markup Language (XAML), the declarative language that can be used to define user interfaces. The module also introduces the Application object model, and describes how to program a Windows Presentation Foundation application.
  • Introduction to Windows Presentation Foundation
  • Introduction to XAML
  • Programming Windows Presentation Foundation Applications

Module 9: Creating Distributed Applications
This module introduces the concept of distributed applications, and shows how to create and consume XML Web services by using the .NET Framework and Visual Studio 2005. The module also covers the key features of Windows Communication Foundation, and explains how to build Windows Communication Foundation services and clients.
  • Overview of Distributed Applications
  • Creating and Consuming XML Web Services
  • Building Windows Communication Foundation Services and Clients

Module 10: Monitoring .NET Framework Applications by Using Instrumentation
This module describes what instrumentation is, and shows how to perform instrumentation in .NET Framework applications by using code tracing and debugging, performance counters, and event logs.
  • Introduction to Instrumentation
  • Code Tracing and Debugging
  • Performance Counters
  • Event Logs

Module 11: Compiling, Testing, and Deploying .NET Framework Applications
This module describes activities that take place in the final stages of application development, when building, testing, and deploying an application. The module describes how to use Microsoft tools to perform each of these activities.
  • Introduction to Assemblies
  • Overview of the Microsoft Build Engine (MSBuild)
  • Testing .NET Framework Applications
  • Deploying .NET Framework Applications by Using ClickOnce
  • Deploying .NET Framework Applications by Using Windows Installer

Module 12: Interoperating with Unmanaged Code (Optional)
This module introduces the concept of interoperability with unmanaged code, and then describes how to access unmanaged functions and COM objects from managed code in a .NET Framework application.
  • Overview of Interoperability
  • Calling Unmanaged Functions by Using Platform Invoke
  • Calling COM Objects from Managed Code

Module 13: Software Design and Development (Optional)
This module introduces software design and development and explains some of the most commonly used models and tools.
  • Introduction to the Software Development Life Cycle
  • Introducing the Microsoft Solutions Framework
  • Developing Applications with the Capability Maturity Model Integration
  • Introducing Agile Software Development