Microsoft .NET is a programming technology that greatly simplifies application development, both for traditional, proprietary applications and for web-based applications and services. The original .NET was a complete restructuring of Microsoft’s whole system infrastructure and represented a major learning challenge for programmers developing applications on Microsoft platforms. Part of .NET included a major new object-oriented programming language, C#. But learning the new programming language is only part of the challenge. The much greater challenge is learning the .NET Class Library and its many capabilities.
A major new restructuring of the .NET platform, .NET Core is cross-platform, open source, and modular designed for creating modern web applications and services, libraries and console applications. It is available on Windows, Mac and Linux. .NET now is a family of frameworks, including both the classical .NET available on Windows and the new .NET Core package-based frameworks that are cross-platform. .NET 7 is the latest version of .NET Core and is the foundation for Microsoft’s .NET development going forward.
This foundational two-day course is designed to provide a sound introduction to.NET for programmers who already know the C# language. It is current to Visual Studio 2022 and .NET 7.0. The course focuses on core portions of the .NET Class Library that are common across many application areas. It starts with an introduction to the architecture and key concepts of .NET. The course then discusses class libraries, packages, metapackages and frameworks. The following chapters discuss important topics in the .NET programming model, including metadata and reflection, I/O and serialization, delegates and events, memory management, processes and threads.
The course concludes with a chapter on threading, which includes an introduction to the Task Parallel Library (TPL). The course is hands-on, with many programming examples. The goal is to equip you with the foundations of this important new technology from Microsoft. The student will receive a comprehensive set of materials, including course notes and all the programming examples.
- Gain a thorough understanding of the philosophy and architecture of .NET Core
- Understand packages, metapackages and frameworks
- Acquire a working knowledge of the .NET programming model
- Implement multi-threading effectively in .NET applications
1. .NET Fundamentals
- What is Microsoft .NET?
- Common Language Runtime
- Framework Class Library
- Language Interoperability
- Managed Code
- .NET Core, .NET 7, and Cross-Platform Development
2. Class Libraries
- Components in .NET
- Class Libraries Using Visual Studio
- Using References
3. Frameworks and Packages
- .NET Implementations and Frameworks
- .NET Standard
- NuGet Packages and Gallery
- Metapackages and Frameworks
- Packages in .NET 7
- Porting from Classical .NET to .NET 7
- Visual Studio Package Manager
- Installing Packages
- Creating Packages
4. Metadata and Reflection
- Late Binding
5. I/O and Serialization
- Files and Streams
- XML Serialization
6. Delegates and Events
- Random Number Generation
- Anonymous Methods
- Lambda Expressions
7. .NET Programming Model
- Garbage Collection
- Finalize and Dispose
- Command-Line Arguments
8. .NET Threading
- Threading Fundamentals
- Foreground and Background Threads
- Task Parallel Library
Course examples require Microsoft Visual Studio 2022 version 17.4 or later and Windows 10 or higher. The free Visual Studio Community 2022 can be used. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 4 GB of RAM and at least 10 GB of free disk space for tools installation and courseware.
The student should be an experienced application developer or architect with a working knowledge of C#.