CLR: A Runtime Environment where all your code get executed as machine instructions.All management of resources,memory,exceptions are taken care by CLR.
CTS: All Types which CLR Supports is exposed by CTS.
CLS:A minimal Support of CTS,which every compiler has to implement it,inorder to Utilize CLR.Intention is to have common feature accross languages,so that they can communicate with each other.