In this post we try to cover all .net framework fundaments questions answer which is more about framework work other than application development related.
Common Type System known as CTS in .Net Framework, CTS is one of the core architectural part of .Net Framework.Learn more about CTS (Common Type System) in .Net.
The CLR stands for Common Language Runtime and it is an Execution Environment. It works as a layer between Operating Systems and the applications written in .NET languages.
The main function of CLR (Common Language Runtime) is to convert the Managed Code into native code and then execute the program.CLR runtime engine comes with set of services.
Private assembly, Shared assembly & Satellite Assembly.Private assembly:
Private assemblies are not designed to be shared. They are designed to be used by one application and must reside in that application's directory or subdirectory. This isolated methodology is nostalgically reminiscent of the DOS days when applications were fully contained within their own directories and did not disturb one another. By default, all assemblies (like the one we created in the previous example) are private. If you wish to make them shared, you must explicitly do so by signing them, as the upcoming example will illustrate. It is expected that the majority of assemblies you create will be of the private type.Shared Assemblies:
For those components that must be distributed, Microsoft offers the shared assembly. The shared assembly concept is centered around two principles. The first, called side-by-side execution, allows the CLR to house multiple versions of the same component on a single machine. The second, termed binding, ensures that clients obtain the version of the component they expect. Together, these two principles free developers from having to ensure that their components are compatible with earlier versions. If a component evolves through versions 1.0, 1.1, and 2.0, the CLR will maintain separate copies of each version and invoke the correct one accordingly.Satellite Assembly:
A satellite assembly is defined as an assembly with resources only, no executable code.
Managed code is executed by the CLR, in any .net application managed code is created by the .NET compiler. It does not depend on the architecture of the targeted machine, because the code is executed by Common Language Runtime, and not by the operating system itself.
On the other hand, unmanaged code is directly compiled to machine code or native code, which depends on the architecture of the target machine. the code is executed directly by the operating system.
The AppDomain class is used to create and terminate Application Domains, the class has properties like CurrentDomain, FriendlyName, SetupInformation, BaseDirectory etc.
Managed module is standard windows Portable Executable (PE) file, which contain