Table of Contents

Glossary of C Sharp dot NET programming language terms

Return to C# .NET

.NET Glossary

05/04/2023

14 minutes to read

The primary goal of this glossary is to clarify meanings of selected terms and acronyms that appear frequently in the .NET documentation.

See CoreRT and .NET Native.

ASP.NET ASP.NET Web API Entity Framework (EF) Windows Presentation Foundation (WPF) Windows Communication Foundation (WCF) Windows Workflow Foundation (WF) Windows Forms (WinForms)


Sometimes ASP.NET is an umbrella term that refers to both the original ASP.NET and ASP.NET Core. The meaning that the term carries in any given instance is determined by context. Refer to ASP.NET 4.x when you want to make it clear that you're not using ASP.NET to mean both implementations.

See ASP.NET documentation.


See ASP.NET Core documentation.


An assembly may include types such as interfaces, classes, structures, enumerations, and delegates. Assemblies in a project's bin folder are sometimes referred to as binaries. See also library.

B


The source code of the BCL for .NET 5 (and .NET Core) and later versions is contained in the .NET runtime repository. Most of these BCL APIs are also available in .NET Framework, so you can think of this source code as a fork of the .NET Framework BCL source code.

The following terms often refer to the same collection of APIs that BCL refers to:

core .NET libraries framework libraries runtime libraries shared framework


A CLR handles memory allocation and management. A CLR is also a virtual machine that not only executes apps but also generates and compiles code on-the-fly using a JIT compiler.

The CLR implementation for .NET Framework is Windows only.

The CLR implementation for .NET 5 and later versions (also known as the Core CLR) is built from the same code base as the .NET Framework CLR. Originally, the Core CLR was the runtime of Silverlight and was designed to run on multiple platforms, specifically Windows and OS X. It's still a cross-platform runtime, now including support for many Linux distributions.

See also runtime.


See CLR.


See Intro to CoreRT and .NET Runtime Lab.


See platform.


E

The term “.NET ecosystem” differs from similar terms such as “.NET stack” in its inclusion of third-party apps and libraries. Here's an example in a sentence:

“The motivation behind .NET Standard was to establish greater uniformity in the .NET ecosystem.”


F

The word “framework” has a different meaning in the following terms:

framework libraries .NET Framework shared framework target framework TFM (target framework moniker) framework-dependent app Sometimes “framework” refers to an implementation of .NET. For example, an article may call .NET 5+ a framework.



G

See Garbage Collection.


I

One or more runtimes. Examples: CLR, CoreRT. A class library that implements a version of .NET Standard and may include additional APIs. Examples: the BCLs for .NET Framework and .NET 5 (and .NET Core) and later versions. Optionally, one or more application frameworks. Examples: ASP.NET, Windows Forms, and WPF are included in .NET Framework and .NET 5+. Optionally, development tools. Some development tools are shared among multiple implementations. Examples of .NET implementations:

.NET Framework .NET 5 (and .NET Core) and later versions Universal Windows Platform (UWP) Mono For more information, see .NET implementations.


J


L

The words library and framework are often used synonymously.


M

It supports all of the currently published .NET Standard versions.

Historically, Mono implemented the larger API of the .NET Framework and emulated some of the most popular capabilities on Unix. It is sometimes used to run .NET applications that rely on those capabilities on Unix.

Mono is typically used with a just-in-time compiler, but it also features a full static compiler (ahead-of-time compilation) that is used on platforms like iOS.

See the Mono documentation.


N

More specifically, .NET refers to the implementation of .NET that is recommended for all new development: .NET 5 (and .NET Core) and later versions.

For example, the first meaning is intended in phrases such as “implementations of .NET” or “the .NET development platform.” The second meaning is intended in names such as .NET SDK and .NET CLI.

.NET is always fully capitalized, never “.Net”.

See .NET documentation



Earlier versions of this .NET implementation are known as .NET Core. .NET 5 is the next version following .NET Core 3.1. Version 4 was skipped to avoid confusing this newer implementation of .NET with the older implementation that is known as .NET Framework. The current version of .NET Framework is 4.8.

See .NET documentation.


See .NET CLI.



See .NET Framework Guide.


Compilation happens on the developer's machine similar to the way a C++ compiler and linker works. It removes unused code and spends more time optimizing it. It extracts code from libraries and merges them into the executable. The result is a single module that represents the entire app.

UWP is the application framework supported by .NET Native.

See .NET Native documentation.


Includes the .NET CLI for building apps, .NET libraries and runtime for building and running apps, and the dotnet executable (dotnet.exe) that runs CLI commands and runs applications.

See .NET SDK Overview.


The .NET Standard specification is sometimes called a library. Because a library includes API implementations, not only specifications (interfaces), it's misleading to call .NET Standard a “library.”

See .NET Standard.



P

The .zip file has a .nupkg extension and may contain assets, such as .dll files and .xml files, for use with multiple target frameworks and versions. When installed in an app or library, the appropriate assets are selected based on the target framework specified by the app or library. The assets that define the interface are in the ref folder, and the assets that define the implementation are in the lib folder.


Here are examples of usage in sentences:

“.NET Core is a cross-platform implementation of .NET.” “PCL profiles represent Microsoft platforms, while .NET Standard is agnostic to platform.” Legacy .NET documentation sometimes uses “.NET platform” to mean either an implementation of .NET or the .NET stack including all implementations. Both of these usages tend to get confused with the primary (OS/hardware) meaning, so we try to avoid these usages.

“Platform” has a different meaning in the phrase “developer platform,” which refers to software that provides tools and libraries for building and running apps. .NET is a cross-platform, open-source developer platform for building many different types of applications.


methods events delegates These objects are used primarily as data transfer objects (DTOs). A pure POCO will not inherit another object, or implement an interface. It's common for POCOs to be used with serialization.

See also: POJO - Plain Old Java Object


R

Common Language Runtime (CLR) .NET Native (for UWP) Mono runtime The word “runtime” has a different meaning in some contexts:

.NET runtime on the .NET 5 download page.

You can download the .NET runtime or other runtimes, such as the ASP.NET Core runtime. A runtime in this usage is the set of components that must be installed on a machine to run a framework-dependent app on the machine. The .NET runtime includes the CLR and the .NET shared framework, which provides the BCL.

.NET runtime libraries

Refers to the same libraries that BCL refers to. However, other runtimes, such as the ASP.NET Core runtime, have different shared frameworks, with additional libraries that build on the BCL.

Runtime Identifier (RID).

Runtime here means the OS platform and CPU architecture that a .NET app runs on, for example: linux-x64.

Sometimes “runtime” is used in the sense of an implementation of .NET, as in the following examples:

“The various .NET runtimes implement specific versions of .NET Standard. … Each .NET runtime version advertises the highest .NET Standard version it supports …” “Libraries that are intended to run on multiple runtimes should target this framework.” (referring to .NET Standard)


S

There are other shared frameworks. The ASP.NET Core shared framework refers to the libraries included in the ASP.NET Core runtime, which includes the BCL plus additional APIs for use by web apps.

For framework-dependent apps, the shared framework consists of libraries that are contained in assemblies installed in a folder on the machine that runs the app. For self-contained apps, the shared framework assemblies are included with the app.

For more information, see Deep-dive into .NET Core primitives, part 2: the shared framework.


S

“The .NET stack” refers to .NET Standard and all .NET implementations. The phrase “a .NET stack” may refer to one implementation of .NET.


T

An app or library can target a version of .NET Standard (for example, .NET Standard 2.0), which is a specification for a standardized set of APIs across all .NET implementations. An app or library can also target a version of a specific .NET implementation, in which case it gets access to implementation-specific APIs. For example, an app that targets Xamarin.iOS gets access to Xamarin-provided iOS API wrappers.

For some target frameworks (for example, .NET Framework) the available APIs are defined by the assemblies that a .NET implementation installs on a system, which may include application framework APIs (for example, ASP.NET, WinForms). For package-based target frameworks, the framework APIs are defined by the packages installed in the app or library.

See Target Frameworks.


See Target Frameworks.


U


W

In some contexts, workload refers to a collection of Visual Studio features that you can choose to install to support a particular type of app. For an example, see Select a workload.


See also

Fair Use Sources

Fair Use Sources:

C Sharp: C# Fundamentals, C# Inventor - C# Language Designer: Anders Hejlsberg of Microsoft in January 2000, Now Mads Torgersen is Primary Architect; Dot Net, C# Keywords, C# on Linux, C# on macOS, C# on Windows, C# on Android, C# on iOS, C# Installation (choco install dotnet, brew install dotnet), C# Containerization ( C# with Docker, C# with Podman, C# and Kubernetes), C# Built-In Data Types, C# Data Structures - C# Algorithms, C# Syntax, C# OOP - C# Design Patterns, Clean C# - C# Style Guide, C# Best Practices ( C# Core Guidelines (CG), ) - C# BDD, C# Compiler, C# IDEs (Visual Studio, Visual Studio Code, JetBrains Ryder), C# Development Tools, C# Linter, C# Debugging, C# Modules, C# Packages, C# Package Manager (NuGet), C# Standard Library, C# libraries, C# frameworks, C# DevOps - C# SRE, C# .NET and Databases (LINQ and Entity Framework ORM), C# Data Science - C# DataOps, C# Machine Learning - ML.NET, C# Deep Learning, Functional C#, C# Concurrency, C# Parallel Programming, Async C#, C# History, C# Bibliography, Manning C Sharp Series, C# Courses, C# Glossary, C# Versions, C# Topics, C# Research, C# GitHub, Written in C#, C# Popularity, C# Awesome. (navbar_csharp - see also navbar_csharp_versions, navbar_dotnet_versions, navbar_csharp_libraries, navbar_csharp_standard_library, navbar_fsharp)


© 1994 - 2024 Cloud Monk Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.