Edit

Share via


Breaking changes in .NET 7

If you're migrating an app to .NET 7, the breaking changes listed here might affect you. Changes are grouped by technology area, such as ASP.NET Core or Windows Forms.

This article indicates whether each breaking change is binary compatible or source compatible:

  • Binary compatible - Existing binaries will load and execute successfully without recompilation, and the run-time behavior won't change.
  • Source compatible - Source code will compile successfully without changes when targeting the new runtime or using the new SDK or component.

ASP.NET Core

Core .NET libraries

Configuration

Title Binary compatible Source compatible
System.diagnostics entry in app.config ✔️

Cryptography

Deployment

Title Binary compatible Source compatible
All assemblies trimmed by default ✔️
Multi-level lookup is disabled ✔️
x86 host path on 64-bit Windows ✔️ ✔️
TrimmerDefaultAction is deprecated ✔️

Entity Framework Core

Breaking changes in EF Core 7

Extensions

Title Binary compatible Source compatible
Binding config to dictionary extends values ✔️ ✔️
ContentRootPath for apps launched by Windows Shell ✔️
Environment variable prefixes ✔️

Globalization

Title Binary compatible Source compatible
Globalization APIs use ICU libraries on Windows Server ✔️

Interop

Title Binary compatible Source compatible
RuntimeInformation.OSArchitecture under emulation ✔️

.NET MAUI

Networking

SDK and MSBuild

Serialization

Windows Forms

Title Binary compatible Source compatible
Obsoletions and warnings ✔️
Some APIs throw ArgumentNullException ✔️

WPF

Title Binary compatible Source compatible Backwards compatible
Restored drag-and-drop operations behavior on text editors ✔️ ✔️

XML and XSLT

Title Binary compatible Source compatible
XmlSecureResolver is obsolete

See also