What is the .NET Framework?
The .NET Framework is a set of technologies that form an integral part of the .NET Platform. It is Microsoft’s managed code programming model for building applications.
The .NET Framework has two main components:
Common Language Runtime (CLR):
The CLR is one of the foundation in the .NET framework and provides a common set of services for applications developed on Microsoft .Net Technologies.
.NET Framework class library:
The .NET framework class library is a collection of reusable types and exposes features of the runtime. It contains of a set of classes that is used to access common functionality.
What is CTS (Common Type System)?
The common type system (CTS) defines how types are declared, used, and managed in the runtime, and is also an important part of the runtime’s support for cross-language integration. The common type system performs the following functions:
- Establishes a framework that helps to enable cross-language integration, type safety, and high performance code execution.
- Provides an object-oriented model that supports the complete implementation of many programming languages.
- Define the rules that languages must follow, which helps to ensure that objects written in different languages can interact with each other.
What is CLS (Common Language Specification)?
This is a subset of the CTS which all .NET languages are expected to support. It was always a dream of Microsoft to unite all different languages in to one umbrella and CLS is one step towards that. Microsoft has defined CLS which are nothing but guidelines that language to follow, so that it can communicate with other .NET languages in a seamless manner.
What is .Net Assembly?
.Net Assembly is one basic building of application. It can be an .exe or .dll file.
.Net Assembly can be used to
- Simplify application deployment
- Solves the versioning problems that can occur with component-based applications
What are the Different elements in .Net Assembly?
- Assembly manifest
- Type Metadata
- MSIL Code
- Set of Resources
What is Global Assembly catche?
If the machine installs with .NetFramework, then the machine contains a machine-wide code cache called the global assembly cache. The global assembly cache stores assemblies specifically designated to be shared by several applications on the machine/computer.
What are different ways to deploy an assembly in to global assembly catche?
- We can use the Global Assembly Cache tool (Gacutil.exe), GAC Tool has provided by the .NET Framework SDK.
- We can use Windows Explorer to drag assemblies into the cache.
- We can use an installer designed to work with the global assembly cache.
Explain the Application Domain in .NetFramework?
Application Domain will isolate applications that are running on same computer. Application domains will provide more secure and versatile unit of processing that CLR can use to provide isolation between applications.
What are the benefits of isolation provided by the Application domains?
- Faults in one application cannot affect other applications. The application domains ensure that code running in one domain cannot affect other applications in the process.
- Individual applications can be stopped without stopping the entire process. Application domains will enable you to unload the code running in a single application.