432 .NET Framework Using C++/CLI
Rev. 1.0
Microsoft .NET is an advance in programming technology that greatly
simplifies application development, both for traditional, proprietary
applications and for the emerging paradigm of Web-based services. .NET is a
complete restructuring of Microsoft’s whole system infrastructure and
represents a major learning challenge for programmers developing applications
on Microsoft platforms. NET 2.0 includes C++/CLI, which enables the popular
Visual C++ language to fully participate in the new .NET Framework. But
learning the new programming language is only part of the challenge. The much
greater challenge is learning the .NET Framework and all its capabilities.
This three-day course is designed to provide a sound introduction to
the .NET Framework for programmers who already know the C++/CLI language and
the fundamentals of Windows Forms. It is current to .NET 2.0 and Visual Studio
2005. The course focuses on core portions of the .NET Framework that are common
across many application areas.
The course starts with an introduction to the architecture and key
concepts of .NET. It then discusses class libraries, assemblies, versioning,
and deployment, which constitute a major advance in the simplicity and
robustness of deploying Windows applications, ending the notorious “DLL hell.”
The next two chapters discuss important topics in the .NET programming model,
including metadata, reflection, I/O, and serialization. The following chapter
continues the discussion of the .NET programming model, including memory
management, threading, and application domains.
.NET Security is introduced in some detail, with an emphasis on code
access. The next chapter covers interoperability of .NET with COM and with
Win32 applications, as well as C++ interop, exploiting the capability of
C++/CLI applications to contain both managed and unmanaged code. The course
concludes with an introduction to database programming using ADO.NET. SQL
Server 2005 Express Edition is used in database examples.
The course is practical, with many examples. The goal is to equip
you to begin building significant applications using the .NET Framework. The
student will receive a comprehensive set of materials, including course notes
and all the programming examples.
LEARNING OBJECTIVES
·
Gain a thorough understanding of the philosophy
and architecture of .NET
·
Acquire a working knowledge of the .NET
programming model and .NET Security
·
Learn how to implement database applications
using .NET
Course Duration: 3
days
Prerequisites: The
student should be an experienced application developer or architect with a
working knowledge of C++/CLI, including building simple GUIs with Windows
Forms. Suitable preparation would be Object Innovations’ course 431, C++/CLI
Essentials.
1.
.NET Fundamentals
What is Microsoft .NET?
Common Language Runtime
Attribute-Based Programming
Interface-Based Programming
Metadata
Common Type System
Framework Class Library
Language Interoperability
Managed Code
Assemblies and Deployment
Web Services
ASP.NET
2.
Class Libraries
Components in .NET
Building Class Libraries at the Command Line
Class Libraries Using Visual Studio 2005
Using References
3.
Assemblies and Deployment
Assemblies
Private Assembly Deployment
Shared Assembly Deployment
Using SDK Tools for Signing and Deployment
4.
Metadata and Reflection
Metadata
Reflection
Late Binding
5.
I/O and Serialization
Directories
Files
Serialization
Attributes
6.
.NET Programming Model
Memory Management and Garbage Collection
Deterministic Cleanup in C++/CLI
Threading and Synchronization
Application Domains
7.
.NET Security
Authentication and Authorization
Configuring Security
Code Access Security
Code Groups
Evidence
Permissions
8.
Interoperating with COM and Win32
Mixed Managed and Unmanaged Code
.NET Client Calling a COM Server
PInvoke
9.
Database Programming Using ADO.NET
ADO.NET Overview
.NET Data Providers
Using DataReaders
Using DataSets
.NET 2.0 Data Binding
Interacting with XML Data
System Requirements
Course exercises require Microsoft Visual Studio 2005 and MSDN on
Windows XP. SQL Server 2005 Express Edition is required for the database
chapter. See the appropriate course Setup Guide for details.
A good minimal hardware
profile for this course would have a Pentium 1 GHz or equivalent CPU, 512 MB of
RAM, and at least 4 GB of free disk space for tools installation and
courseware.