When it comes to Visual Studio .NET; .NET framework is the heart and soul of everything. We cannot possibly talk about .NET without properly understanding what it really means by .NET framework. Therefore, this guide is for those who have been wondering what .NET framework is. .NET framework consists of three main parts. It has been divided to three parts just to make sure to keep the abstraction it requires when it comes to understanding and development. Let’s try to understand each of these parts of the framework in detail. Common Language Runtime Have you ever heard of JVM (Java Virtual Machine)? Do you know what it exactly does? If you know the answer, then it is quite easy for you to understand what Common Language Runtime (CLR) is. Common Language Runtime has two basic roles to play in both development time experience and component’s runtime. In development time, the Common Language Runtime takes care of many tasks the developers used to perform manually such as memory allocation for components. This way, the development process becomes faster while reducing the number of possible errors in the code. When it comes to component’s runtime, Common Language Runtime is responsible of managing the component’s memory allocation, managing threads and processes, enforcing security policy, and satisfying the dependencies. In addition to that, Common Language Runtime includes many libraries that help developers to write less code in order to convert the business logic to components. Unified Programming Classes Have you ever dreamt of inheriting one language’s classes in to another? How wonderful will it be when writing parts of the same application in different languages? Unified programming classes are the answer for this thrilling question. When it comes to C++, programmers access Microsoft Foundation classes to write applications. In Java, the Windows Foundation classes are accessed by programmers when writing applications. .NET framework has integrated these two categories to one set of APIs, so the library has become language independent. Therefore, .NET framework enables cross language error handling, debugging, and inheritance. In addition to that, the .NET framework provides a set of libraries that are object oriented, hierarchical, and extensible. ASP .NET Although ASP .NET is considered the web development tool in .NET platform, it is a part of the core .NET framework. ASP .NET has a number of controls that encapsulate common elements used in HTML. This makes the web developer’s life easy as they do not have to code the common HTML elements from scratch. In ASP .NET, the controls run in the web server and are pushed to the web browser as HTML. Since ASP .NET provides object oriented programming structure, the effort required to develop a web application is significantly reduced. In addition to that, ASP .NET provides infrastructure services such as session management, which further reduces the effort on coding. A fair knowledge about the above three areas will give you much advantage when writing .NET applications. Just mastering a .NET language such as Visual Basic .NET is not enough to write an effective and robust code because thorough knowledge of .NET framework is a must for .NET programming.