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 Framework 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 5 is the latest version of .NET Core and is the foundation for Microsoft’s .NET development going forward.
This 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 2019 and .NET 5.0. The course focuses on core portions of the .NET Framework 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.
.NET Training Learning Objectives
The student should be an experienced application developer or architect with a working knowledge of C#.
- 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
.NET Training Course duration
.NET Training Course outline
1. .NET Fundamentals
2. Class Libraries
- What is Microsoft .NET?
- Common Language Runtime
- Framework Class Library
- Language Interoperability
- Managed Code
- .NET Core and Cross-Platform Development
3. Frameworks and Packages
- Components in .NET
- Class Libraries Using Visual Studio
- Using References
4. Metadata and Reflection
- .NET Implementations and Frameworks
- .NET Standard
- NuGet Packages and Gallery
- Metapackages and Frameworks
- Packages in .NET 5
- Porting from Classical .NET to .NET 5
- Visual Studio Package Manager
- Installing Packages
- Creating Packages
5. I/O and Serialization
- Late Binding
6, Delegates and Events
- Files and Streams
- XML Serialization
7. .NET Programming Model
- Random Number Generation
- Anonymous Methods
- Lambda Expressions
8. .NET Threading
- Garbage Collection
- Finalize and Dispose
- Command-Line Arguments
- Threading Fundamentals
- Foreground and Background Threads
- Task Parallel Library
Required software is Visual Studio 2019, which includes .NET 5.0. The free Visual Studio Community 2019 may be used. The operating system should be Windows 7sp1 or more recent. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course would have a 2 GHz or equivalent CPU, 4 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.