Every .NET and ASP.NET Core release mapped to its default C# version — with LTS status, release year, and key language features at a glance.
Modern .NET (unified).NET Core.NET Framework
How C# version compatibility works
✅ Always backward compatible Any SDK can compile lower C# versions. Set <LangVersion>7.3</LangVersion> in your .csproj to lock to an older version. The table shows what you get by default.
⚠️ SDK vs Runtime The C# compiler ships with the SDK, not the runtime. You can write C# 12 targeting .NET Framework 4.8 with a modern SDK — but certain features won't compile or run if the CLR doesn't support them.
❌ Runtime-incompatible features Warning badges below mark features that will fail at runtime even if the compiler accepts the syntax. These are caused by missing CLR support or BCL types not available on that platform.