What is DotNet Framework?
DotNet Framework is powerful and robust environment to build application in .Net languages like C#, VB.Net, and VC++. We can build Web application, Windows Desktop & Store applications and also Windows Azure applications.
What is CLR?
Common Language Runtime(CLR) is one of the mail building blocks of Microsoft.Net Framework. CLR also performs various other operations like: Memory Management, Application Execution, Thread Management, Security checks, load the required assemblies and their types. the code which is manages by CLR is also known as Managed code.
What is CTS?
CTS stands for Common Type System. It has a set of rules which state how a data type should be declared, defined and used in the program. CTS defines the rules followed by the languages in order make objects written in one language callable in other languages. Like when defining integer variable in C# or VB.Net we use the same type int32.
What is CLS?
Common Language Specification (CLS) is a set of rules which defines a subset of CTS. Defining components with the help of CLS, developers are guaranteed to make use of these components in all other languages which are CLS complaint languages.
What is managed and unmanaged code?
The code that is managed by CLR is Managed Code. CLR manages the memory through garbage collection and also uses the other features like CAS and CTS for efficient management of the code.
Unmanaged code is not dependent on CLR for execution and developed by any other language independent of .Net Framework. Has its own environment for compiling and execution.
What is Garbage Collector?
Garbage Collector is also a part of CLR, which does automatic memory management for your application.
Garbage Collector does automatic reclaim of the memory for those objects which are not in use and which are marked for deletion.
What is GAC?
Global Assembly Cache (GAC) comes as a part of CLR. GAC store those assemblies which will be shared by many applications. A developer tool called gacutil.exe is used to add any file to GAC. GAC solves some of the problems associated with dll’s common as 'DLL Hell'.
What is a connection pool?
A pool or collection of connections in DotNet which are shared between the clients. Once the connection is closed it is returned back to the pool.
What is an Assembly?
An Assembly is a collection of logical units. Logical units refer to the types and resources which are required to build an application and deploy them using the .Net framework. A final deployable unit which can be versioned and secured. Basically, Assembly is a collection of Exe and Dlls and it is portable and executable.
Different types of assemblies.
There are two types of Assemblies, Private and Shared.
Private Assembly, as the name itself suggests, it is accessible only to the application. It is installed in the installation directory of the Application.
A Shared assembly can be shared by multiple applications. It is installed in the GAC.