Compilation and Execution of .NET applications: CLI, MSIL, and CLR
Compilation and Execution of .NET applications: CLI, MSIL, and CLR
- C# programs run on the .NET Framework, which includes the common language runtime (CLR) and a unified set of class libraries. The CLR is the commercial implementation by Microsoft of the common language infrastructure (CLI), an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.
- Source code written in C# is compiled into a Microsoft Intermediate Language (MSIL) or simply(IS) that conforms to the CLI specification. The IL code is stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll.
- CLR performs just in time (JIT) compilation to convert the IL code to native machine instructions. The CLR also provides other services related to automatic garbage collection, exception handling, and resource management.
- Code that is executed by the CLR is sometimes referred to as "managed code," in contrast to "unmanaged code" which is compiled into native machine language that targets a specific system.
- Language interoperability is a key feature of the .NET Framework. Because the IL code produced by the C# compiler conforms to the Common Type Specification (CTS), IL code generated from C# can interact with code that was generated from the .NET versions of Visual Basic, Visual C++, or any of more than 20 other CTS-compliant languages. A single assembly may contain multiple modules written in different .NET languages, and the types can reference each other just as if they were written in the same language.
- The .NET Core command-line interface (CLI) is a new cross-platform tool for creating, restoring packages, building, running, and publishing .NET applications.
- Visual Studio internally uses this CLI to restore, build and publish an application. Other higher-level IDEs, editors, and tools can use CLI to support .NET Core applications.
- The .NET Core CLI is installed with .NET Core SDK for selected platforms. So we don't need to install it separately on the development machine. We can verify whether the CLI is installed properly by opening it. command prompt in Windows and writing dotnet and pressing Enter. If it displays usage and help as shown below then it means it is installed properly.
Comments
Post a Comment