Don't miss an insight. Subscribe to Techopedia for free.


Common Language Infrastructure (CLI)

Last updated: October 28, 2019

What Does Common Language Infrastructure (CLI) Mean?

Common Language Infrastructure (CLI) is a Microsoft specification for running high-level language program applications in different computer systems without changing the application code. CLI is based on the Microsoft .NET concept that some high-level language programs require modifications due to system hardware and processing constraints.

CLI compiles applications as Intermediate Language (IL), which is automatically compiled as native system code. This approach allows applications to run without code rewrites in limited systems.


Techopedia Explains Common Language Infrastructure (CLI)

CLI components are as follows:

  • Common Type System (CTS): The CLI core model. Provides support for a broad range of programming language data types often referenced by different compilers. Metadata: Known as data about data. A mechanism between various tools, such as compilers and debuggers, and the Virtual Execution System (VES). Defines metadata for CTS data types.
  • Common Language Specification (CLS): A basic set of rules for any compiling language according to CLI standards.
  • Virtual Execution System (VES): Loads and runs CLI programs and implements the CTS model. Provides services required for managing code and data. Uses late binding metadata to connect related run-time modules.

CLI advantages are as follows:

  • Defines a consistent programming model. For example, a .NET program is syntactically similar to C.NET or VB.NET and follows the same essential steps when accessing and obtaining data.
  • Administrators may define and reinforce security by limiting data access and ensuring user authenticity.
  • Implements protocols like HTTP, Transmission Control Protocol/Internet Protocol (TCP/IP), Simple Object Access Protocol (SOAP) and Extensible Markup Language (XML), providing technology compatibility with added security layers.
  • Allows users to separate application presentation logic and business logic for increased maintenance and portability.

Share this Term

  • Facebook
  • LinkedIn
  • Twitter

Related Reading


Software DevelopmentContainers & VirtualizationInfrastructure ManagementProgramming Languages

Trending Articles

Go back to top