01 December 2010


       Dot NET assemblies are unit of deployment which may or may not be executable, i.e., they might exist as the executable (.exe) file or dynamic link library (DLL) file. 

      Assembly consists manifest-which is a data structure which stores information about an assembly
The information includes version information, list of constituent files etc.

One assembly can contain one or more files

There are two kind of assemblies in .NET;
  • private 
  • shared

Private assemblies 

Shared assemblies (also called strong named assemblies) 




What is CTS?
        In order that two language communicate smoothly CLR has CTS (Common Type
System).Example in VB you have “Integer” and in C++ you have “long” these datatypes are not
compatible so the interfacing between them is very complicated. In order that these two different
languages communicate Microsoft introduced Common Type System. So “Integer” data type in
VB6 and “int” data type in C++ will convert it to System.int32, which is data type of CTS. CLS,
which is covered in the coming question, is subset of CTS.

What is a CLS
      This is a subset of the CTS, which all .NET languages are expected to support.Microsoft has defined CLS, which are nothing but guidelines, that language should follow so that it can communicate with other .NET languages in a seamless manner.