Discuss the differences between .NET Core and .NET Framework.
.NET Core is a cross-platform, open-source framework for building modern, cloud-based web applications. It supports Windows, Linux, and macOS. .NET Framework, on the other hand, is a Windows-only framework designed for building desktop applications and web services. .NET Core offers improved performance, side-by-side versioning, and a modular architecture. .NET Framework has a broader API surface and supports technologies like WebForms, WCF, and WF that are not available in .NET Core. With the introduction of .NET 5 and beyond, Microsoft aims to unify the .NET platforms.