
.NET Common Keywords & Abbreviations Explained
Your comprehensive guide to understanding .NET terminology
When learning or working with .NET, you will often see acronyms and shortcut terms such as CLR, CTS, CLS, FCL, BCL and more. These are the foundation blocks of the framework and are frequently asked in interviews, tutorials, and day-to-day development.
CLR (Common Language Runtime)
The CLR is the execution engine of .NET applications. It provides services like memory management, garbage collection, exception handling, type safety, and security.
CTS (Common Type System)
The CTS standardizes all data types so that objects created in one .NET language (like C#) can be used in another (like VB.NET). It ensures type compatibility across languages.
CLS (Common Language Specification)
The CLS is a subset of CTS that defines a set of rules. Any language following CLS can interoperate with other .NET languages. Example: a C# class can be used in VB.NET if it follows CLS.
FCL (Framework Class Library)
The FCL is a collection of thousands of reusable classes for file I/O, collections, data, networking, and more. It is built on top of the Base Class Library (BCL).
BCL (Base Class Library)
The BCL provides the most fundamental classes like System.String
, System.DateTime
, System.IO
, and collections. It is a subset of the FCL.
Other Related .NET Shortcuts & Definitions
MSIL (Microsoft Intermediate Language)
Intermediate code generated by .NET compilers before execution. It is platform independent.
CIL (Common Intermediate Language)
Another name for MSIL, used officially in the ECMA/ISO .NET standards.
IL (Intermediate Language)
General short form for MSIL/CIL. This is the bytecode understood by the CLR.
JIT (Just-In-Time Compiler)
Compiles IL into native machine code at runtime. Improves performance by optimizing execution.
CLI (Common Language Infrastructure)
The overall specification that defines CLR, CTS, CLS, and CIL. It makes .NET a standardized platform.
Assembly
The basic deployment unit in .NET. It can be an .exe
or .dll
file. Contains metadata, IL, and resources.
DLL (Dynamic Link Library)
A type of assembly used for reusable libraries. Does not run directly but is consumed by executables.
GAC (Global Assembly Cache)
A machine-wide code cache that stores shared assemblies, accessible to multiple applications.
Managed Code
Code written in .NET languages that runs under the CLR supervision. Provides memory safety and security.
Unmanaged Code
Code not executed under CLR (like old C/C++ code). Requires manual memory management.
NuGet
The official package manager for .NET. Used for adding libraries and tools to projects easily.
SDK (Software Development Kit)
A set of tools, libraries, and compilers needed for .NET development.
Runtime
The environment in which applications are executed. For .NET Core/5+, this is .NET Runtime.
Quick Recap
- CLR – Execution engine
- CTS – Defines data types
- CLS – Rules for language interoperability
- FCL – Large collection of reusable classes
- BCL – Core foundational classes
- MSIL/CIL – Intermediate bytecode
- JIT – Runtime compiler
- GAC – Shared assembly store
- NuGet – Package manager
- Assembly/DLL – Deployment unit