Basic Language Specification (CLS)
CLS represents normal Language Specification, as we realize that there are numerous dialects utilized in .NET Framework. CLS characterizes some arrangement of decides that must be trailed by each .NET language to be a .NET agreeable language.
This arrangement of rules is utilized to empower interoperability between two .NET-agreeable dialects. CLS is the subset of CTS; the language upheld by CLS can utilize each other’s structure class library for application improvement. Application programming interfaces otherwise called APIs, which are created by adhering to these guidelines (the principles of CLS), can be utilized by every .NET language.
Regular Type System (CTS)
CTS represents the Common Type System. It is the most significant segment of CLR.
.NET structure bolsters various dialects that contain a sort framework that is regular for every one of the dialects. The dialects which are CTS consistent don’t require any sort of change when calling the source code which is written in one language from inside the code is written in another programming language.
CTS give a set of information types to every one of the dialects bolstered by .NET structure. CTS utilizes the information type of System.Int32 to speak to a 4 bytes whole number. VB.NET utilizes the pseudonym Integer for the equivalent; while C#.NET utilizes the false name int.