Frequently Asked Questions for .NET

What is .NET?
.NET is a free, cross-platform, open-source developer platform for building many types of applications. With .NET, you can create traditional Windows desktop applications, cloud-native applications, microservices, mobile applications, web applications, and more. It is developed by Microsoft and a large community of .NET developers.
What are the main .NET versions?
The primary modern version is .NET 7 (and soon .NET 8 as the next LTS release). Historically, there was .NET Framework (Windows-only, now in maintenance mode) and Xamarin (for mobile development, now integrated into .NET MAUI). .NET Core was the precursor to modern .NET.
Can I run .NET applications on macOS and Linux?
Yes! Modern .NET (starting from .NET Core and continuing with .NET 5, 6, 7, 8, etc.) is cross-platform and runs on Windows, macOS, and Linux.
What languages can I use with .NET?
The primary languages are C#, F#, and Visual Basic. C# is the most widely used and recommended language for general-purpose .NET development.
How do I install .NET?
You can download the .NET SDK from the official dotnet.microsoft.com/download page. The SDK includes the runtime and development tools. For specific operating systems, you might also use package managers like Homebrew on macOS or apt/dnf on Linux.
What is the difference between .NET SDK and .NET Runtime?
The .NET SDK (Software Development Kit) is for developers. It includes everything needed to build, test, and deploy .NET applications, such as the compiler, libraries, and tools. The .NET Runtime is for running applications. It includes the Common Language Runtime (CLR) and the .NET libraries. When you install the SDK, the runtime is usually included. If you only need to run an application, you can install just the .NET Runtime.
What is the Common Language Runtime (CLR)?
The CLR is the execution engine of the .NET platform. It manages the execution of .NET code, providing services like memory management (garbage collection), exception handling, security, and just-in-time (JIT) compilation.
What is ASP.NET Core?
ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, internet-connected applications, such as web applications, IoT applications, and mobile backends. It's a rewrite of the older ASP.NET framework, designed for performance and modularity.
What are NuGet packages?
NuGet is the package manager for the .NET ecosystem. It's used to discover, install, and manage reusable code libraries (packages) created by the community and Microsoft. You can think of them like plugins or libraries for your projects. You can find packages on nuget.org.
What is .NET MAUI?
.NET MAUI (Multi-platform App UI) is an evolution of Xamarin.Forms. It's a cross-platform framework for creating native mobile and desktop applications from a single C# codebase. You can build apps for Android, iOS, macOS, and Windows.