.NET Framework has the following components - The common language runtime (CLR), A base class library and a Common Language Runtime. CLR is the core component that interacts with the operating system and hardware. The base class library sits on top of that and used to interact between the CLR and the user interfaces. Then it comes the APIs and libraries for Web and Windows such as ASP.NET, Web Services, Windows Forms, Web Forms, ASP.NET/MVC. Another component of .NET Framework is language compilers such as C#, VB.NET, F# and others and Common Language Specification (CLS).