Microsoft Official Distance Learning (MODL) 
Course 4995: Programming with the Microsoft .NET Framework Using Microsoft Visual Studio 2005.
Course 4995AL: This Distance Learning version of the course consists of 10 online live instructor-led sessions. Additional self-paced e-learning content, scenario-based labs, and assessments accompany these sessions. This course provides developers who have professional programming experience with other development platforms with in-depth guidance on programming the Microsoft .NET Framework versions 2.0 and 3.0 using Microsoft Visual Studio 2005.
Back to top
The target audience for this course is developers who already have professional programming experience in C, C++, earlier versions of Microsoft Visual Basic, Microsoft Visual C#, Java, or another programming language, and who plan to use Visual Studio 2005 to develop enterprise business solutions.
Back to top
After completing this course, students will be able to:
- » Create applications by using Visual Studio 2005.
- » Examine language and syntax features.
- » Implement advanced object-oriented programming.
- » Implement .NET Framework security in your applications.
- » Access data by using ADO.NET.
- » Build Windows Presentation Foundation applications.
- » Create distributed applications.
- » Monitor .NET Framework applications by using instrumentation.
- » Compile, test, and deploy .NET Framework applications.
- » Interoperate with unmanaged code.
Before attending this course, students must have:
- » Interoperate with unmanaged code.
- » Familiarity with the .NET Framework strategy as described on the .NET home page at http://www.microsoft.com/net.
- » Familiarity with the .NET Framework versions 2.0 and 3.0 as described on the Microsoft MSDN Developer Center site at http://msdn2.microsoft.com/en-us/netframework/aa497270.aspx.
- » Familiarity with object-oriented programming concepts.
Module 1-1 :
Creating Applications with Visual Studio 2005
This module describes the key features of the .NET Framework. In addition, this module describes the four new technologies that combine with the .NET Framework 2.0 to create the .NET Framework 3.0. Finally, this module covers many of the features that relate to creating applications with Visual Studio 2005 and explains how to perform operations in Visual Studio 2005 that you might have performed in other developer tools.
Lessons
Introduction to the Microsoft .NET Framework
Microsoft .NET Framework 3.0 Technologies
Introduction to Visual Studio 2005
Managing the Integrated Development Environment
Writing Code with Visual Studio 2005
Lab 1-1:
Creating Applications with Visual Studio 2005
After completing this module, students will be able to:
- » Describe the key features of the Microsoft .NET Framework.
- » Describe the .NET Framework 3.0 technologies.
- » Describe the key features of Visual Studio 2005, and manage solutions and projects.
- » Manage the integrated development environment.
- » Write code with Visual Studio 2005.
Module 1-2 :
Examining Language and Syntax Features
This module provides an introduction to essential language features in Visual C# and Visual Basic. The module assumes you are familiar with programming concepts from your previous programming experience.
The module also describes the new language features that were introduced in .NET Framework 2.0, including generic, partial types, and nullable types.
Lessons
Language Features
Language Structure
Exception Handling
Language Enhancements
Lab 1-2:
Examining Language and Syntax Features
After completing this module, students will be able to:
- » Describe the key features of Visual Studio 2005.
- » Manage solutions and projects.
- » Manage the integrated development environment.
- » Write code with Visual Studio 2005.
Module 2-1:
Advanced Object-Oriented Programming
This module introduces object-oriented programming techniques in .NET Framework applications. The module describes how to create a class, define members in the class, and create and use instances of the class. This module also introduces inheritance in object-oriented programming.
Lessons
Object-Oriented Programming
Defining a Class
Creating a Class Instance
Implementing Inheritance
Designing and Implementing Interfaces
Creating and Using Delegates and Events
Lab 2-1:
Advanced Object-Oriented Programming
After completing this module, students will be able to:
- » Describe the key features of object-oriented programming.
- » Define a class.
- » Create a class instance.
- » Implement inheritance.
- » Define and implement interfaces
- » Create and use delegates and events.
Module 2-2:
Security in the .NET Framework
This module explains important security concepts and how to apply them in .NET Framework applications.
The module describes how to use code access security to limit the operations that code is permitted to perform. It also describes how to use role-based security to determine the actions that authenticated users can perform and the resources that they can access. Additionally, the module describes how to use the .NET Framework cryptography services to encrypt and decrypt data.
Lessons
Security Overview
Implementing Code Access Security
Implementing Role-Based Security
Using Cryptographic Services
Lab 2-2:
Security in the .NET Framework
After completing this module, students will be able to:
- » Describe security in the .NET Framework.
- » Implement code access security.
- » Implement role-based security.
- » Use the cryptographic services in the .NET Framework.
Module 3-1:
Accessing Data by Using ADO.NET
This module describes how to use ADO.NET to access data programmatically in a relational database. The module also describes how to read and write XML data by using XmlReader, XmlWriter, and the XML Document Object Model classes.
You can use these techniques to build your own .NET Framework applications that can manipulate data from external data sources, such as a Microsoft SQL Server database.
Lessons
Overview of ADO.NET
Accessing Data in Visual Studio 2005
Reading and Writing Relational Data
Reading and Writing XML Data
Lab 3-1:
Accessing Data by Using ADO.NET
After completing this module, students will be able to:
- » Describe the key features of data access in a Microsoft .NET Framework application.
- » Describe how to access data by using Visual Studio 2005.
- » Read and write relational data by using ADO.NET.
- » Read and write XML data.
Module 3-2:
Building Windows Presentation Foundation Applications
Windows Presentation Foundation (WPF) is one of the components of the .NET Framework 3.0. This lesson introduces WPF. It describes the architecture and key features of WPF and explains how to create a simple WPF application by using Visual Studio 2005.
Lessons
Introduction to Windows Presentation Foundation
Introduction to XAML
Programming Windows Presentation Foundation Features
Programming Windows Presentation Foundation Graphical Elements
Lab 3-2:
Building Windows Presentation Foundation Applications
After completing this module, students will be able to:
- » Describe the key features of Windows Presentation Foundation.
- » Describe and use XAML.
- » Program Windows Presentation Foundation features.
- » Program Windows Presentation Foundation Graphical elements.
Module 4-1:
Creating Distributed Applications
This module introduces the concept of distributed applications and shows you how to create and consume XML Web services by using the .NET Framework and Visual Studio 2005. It also covers the key features of Windows Communication Foundation (WCF) and explains how to build WCF services and clients.
Lessons
Overview of Distributed Applications
Overview of Distributed Applications in Microsoft .NET Framework 3.0
Creating and Consuming XML Web Services
Building Windows Communication Foundation Services and Clients
Lab 4-1:
Creating Distributed Applications
After completing this module, students will be able to:
- » Describe the options for creating distributed .NET Framework 2.0 applications.
- » Describe the options for creating distributed .NET Framework 3.0 applications.
- » Create and consume XML Web services.
- » Build WCF services and clients.
Module 4-2:
Monitoring Microsoft .NET Framework Applications by Using Instrumentation
Instrumentation is the ability to monitor or measure the performance of a product and to diagnose errors.
This module introduces instrumentation and covers several instrumentation tools. It describes code tracing and debugging and explains how to use trace statements. The module also describes how to use performance counters and explains how to use event logs to track major events in the execution of an application.
Lessons
Introduction to Instrumentation
Code Tracing and Debugging
Performance Counters
Event Logs
Lab 4-2:
Monitoring Microsoft .NET Framework Applications by Using Instrumentation
After completing this module, students will be able to:
- » Describe the key features of instrumentation in Microsoft .NET Framework applications.
- » Explain code tracing and debugging.
- » Describe performance counters and explain how to use them.
- » Describe event logs and explain how to write to an application event log.
Module 5-1:
Compiling, Testing, and Deploying .NET Framework Applications
This module introduces the new .NET Framework 3.0 technologies and explains how to create a Windows Presentation Foundation application and a Windows Communication Foundation service.
Lessons
Introduction to Assemblies
Overview of MSBuild
Testing .NET Framework Applications
Deploying .NET Framework Applications by Using ClickOnce
Deploying .NET Framework Applications by Using Windows Installer
Lab 5-1:
Compiling, Testing, and Deploying .NET Framework Applications
After completing this module, students will be able to:
- » Describe assemblies and explain features of assemblies that relate to deployment.
- » Explain how to use MSBuild to build an application.
- » Describe the key features of application testing.
- » Deploy applications by using Microsoft ClickOnce.
- » Deploy applications by using Microsoft Windows Installer.
Module 5-2:
Interoperating with Unmanaged Code
This module provides an overview of software testing and explains how to use the Object Test Bench. It also explains how to deploy .NET Framework applications by using both Windows Installer and ClickOnce.
Lessons
Overview of Interoperability
Calling Unmanaged Functions by Using Platform Invoke
Calling COM Objects from Managed Code
Calling COM Objects from Managed Code
Lab 5-2:
Interoperating with Unmanaged Code
After completing this module, students will be able to:
- » Describe the options for interoperating with unmanaged code from a .NET Framework application.
- » Call unmanaged functions by using platform invoke.
- » Call Component Object Model (COM) objects from managed code.
- » Call Component Object Model (COM) objects from managed code.










