Awais Tahir - BlogExploring the Power of the .NET Framework: A Foundation for Versatile Application Development
What is the .NET Framework?
The .NET Framework is a software development framework designed to simplify the process of building, deploying, and running applications on the Microsoft Windows operating system. It encompasses a Common Language Runtime (CLR), a Base Class Library (BCL), and various application frameworks for different types of applications.
Architecture of .NET Framework
The two major components of .NET Framework are the Common Language Runtime and the .NET Framework Class Library.
- The Common Language Runtime (CLR) is the execution engine that handles running applications. It provides services like thread management, garbage collection, type-safety, exception handling, and more.
- The Class Library provides a set of APIs and types for common functionality. It provides types for strings, dates, numbers, etc. The Class Library includes APIs for reading and writing files, connecting to databases, drawing, and more.
.NET applications are written in the C#, F#, or Visual Basic programming language. Code is compiled into a language-agnostic Common Intermediate Language (CIL). Compiled code is stored in assemblies—files with a .dll or .exe file extension.
When an app runs, the CLR takes the assembly and uses a just-in-time compiler (JIT) to turn it into machine code that can execute on the specific architecture of the computer it is running on.
.NET Framework for developers
If you're a developer, choose any programming language that supports .NET Framework to create your apps. Because .NET Framework provides language independence and interoperability, you interact with other .NET Framework apps and components regardless of the language with which they were developed.
To develop .NET Framework apps or components, do the following:
- If it's not preinstalled on your operating system, install the version of .NET Framework that your app will target. The current versions are .NET Framework 4.8 and .NET Framework 4.8.1. .NET Framework 4.8.1 is available for download on the latest versions of Windows and Windows Server. .NET Framework 4.8 is preinstalled on Windows 10 May 2019 Update, Windows 10 November 2019 Update, Windows 10 May 2020 Update, and Windows 10 October 2020 Update, and it's available for download on earlier versions of the Windows operating system. For .NET Framework system requirements, see System Requirements. For information on installing other versions of .NET Framework, see Installation Guide. Additional .NET Framework packages are released out of band, which means that they're released on a rolling basis outside of any regular or scheduled release cycle. For information about these packages, see .NET Framework and Out-of-Band Releases.
- Select the language or languages supported by the .NET Framework version that you intend to use to develop your apps. A number of languages are available, including Visual Basic, C#, F#, and C++/CLI from Microsoft. (A programming language that allows you to develop apps for .NET Framework adheres to the Common Language Infrastructure (CLI) specification.)
- Select and install the development environment to use to create your apps and that supports your selected programming language or languages. The Microsoft integrated development environment (IDE) for .NET Framework apps is Visual Studio. It's available in a number of editions.
.NET Framework for users
If you don't develop .NET Framework apps, but you use them, you aren't required to have specific knowledge about .NET Framework or its operation. For the most part, the framework is completely transparent to users.
If you're using the Windows operating system, .NET Framework may already be installed on your computer. In addition, if you install an app that requires .NET Framework, the app's setup program might install a specific version of the framework on your computer. In some cases, you may see a dialog box that asks you to install .NET Framework. If you've just tried to run an app when this dialog box appears and if your computer has internet access, you can go to a webpage that lets you install the missing version of .NET Framework. For more information, see the Installation guide.
In general, you shouldn't uninstall versions of .NET Framework that are installed on your computer. There are two reasons for this:
- If an app that you use depends on a specific version of .NET Framework, that app may break if that version is removed.
- Some versions of .NET Framework are in-place updates to earlier versions. For example, .NET Framework 3.5 is an in-place update to version 2.0, and .NET Framework 4.8 is an in-place update to versions 4 through 4.7.2. For more information, see .NET Framework Versions and Dependencies.
On Windows versions before Windows 8, if you do choose to remove .NET Framework, always use Programs and Features from Control Panel to uninstall it. Never remove a version of .NET Framework manually. On Windows 8 and above, .NET Framework is an operating system component and cannot be independently uninstalled.
Multiple versions of .NET Framework can coexist on a single computer at the same time. This means that you don't have to uninstall previous versions in order to install a later version.