Training
Learning path
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
If you're migrating an app to .NET 10, the breaking changes listed here might affect you. Changes are grouped by technology area, such as ASP.NET Core or Windows Forms.
This article categorizes each breaking change as binary incompatible or source incompatible, or as a behavioral change:
Binary incompatible - When run against the new runtime or component, existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
Source incompatible - When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.
Behavioral change - Existing code and binaries may behave differently at run time. If the new behavior is undesirable, existing code would need to be updated and recompiled.
Note
This article is a work in progress. It's not a complete list of breaking changes in .NET 10.
Title | Type of change | Introduced version |
---|---|---|
Cookie login redirects disabled for known API endpoints | Behavioral change | Preview 7 |
Deprecation of WithOpenApi extension method | Source incompatible | Preview 7 |
Exception diagnostics suppressed when TryHandleAsync returns true | Behavioral change | Preview 7 |
IActionContextAccessor and ActionContextAccessor are obsolete | Source incompatible/behavioral change | Preview 7 |
IncludeOpenAPIAnalyzers property and MVC API analyzers are deprecated | Source incompatible | Preview 7 |
IPNetwork and ForwardedHeadersOptions.KnownNetworks are obsolete | Source incompatible | Preview 7 |
Microsoft.Extensions.ApiDescription.Client package deprecated | Source incompatible | Preview 7 |
Razor run-time compilation is obsolete | Source incompatible | Preview 7 |
WebHostBuilder, IWebHost, and WebHost are obsolete | Source incompatible | RC 1 |
Title | Type of change | Introduced version |
---|---|---|
Default .NET images use Ubuntu | Behavioral change | Preview 1 |
Title | Type of change | Introduced version |
---|---|---|
CoseSigner.Key can be null | Behavioral/source incompatible change | Preview 7 |
MLDsa and SlhDsa 'SecretKey' members renamed | Source incompatible | RC 1 |
OpenSSL cryptographic primitives aren't supported on macOS | Behavioral change | Preview 6 |
X500DistinguishedName validation is stricter | Behavioral change | Preview 1 |
X509Certificate and PublicKey key parameters can be null | Behavioral/source incompatible change | Preview 3 |
Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE | Behavioral change | Preview 1 |
Breaking changes in EF Core 10
Title | Type of change | Introduced version |
---|---|---|
Null values preserved in configuration | Behavioral change | Preview 7 |
Message no longer duplicated in Console log output | Behavioral change | Preview 7 |
ProviderAliasAttribute moved to Microsoft.Extensions.Logging.Abstractions assembly | Source incompatible | Preview 4 |
Removed DynamicallyAccessedMembers annotation from trim-unsafe Microsoft.Extensions.Configuration code | Binary incompatible | Preview 6 |
Title | Type of change | Introduced version |
---|---|---|
Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE | Behavioral change | Preview 1 |
Title | Type of change | Introduced version |
---|---|---|
Single-file apps no longer look for native libraries in executable directory | Behavioral change | Preview 6 |
Specifying DllImportSearchPath.AssemblyDirectory only searches the assembly directory | Behavioral change | Preview 5 |
Title | Type of change | Introduced version |
---|---|---|
HTTP/3 support disabled by default with PublishTrimmed | Source incompatible | Preview 6 |
Streaming HTTP responses enabled by default in browser HTTP clients | Behavioral change | Preview 3 |
Uri length limits removed |
Behavioral change | Preview 7 |
Title | Type of change | Introduced version |
---|---|---|
API obsoletions | Source incompatible | Preview 1 |
Applications referencing both WPF and WinForms must disambiguate MenuItem and ContextMenu types | Source incompatible | Preview 1 |
Renamed parameter in HtmlElement.InsertAdjacentElement | Source incompatible | Preview 1 |
TreeView checkbox image truncation | Behavioral change | Preview 1 |
StatusStrip uses System RenderMode by default | Behavioral change | Preview 1 |
System.Drawing OutOfMemoryException changed to ExternalException | Behavioral change | Preview 5 |
Title | Type of change | Introduced version |
---|---|---|
Empty ColumnDefinitions and RowDefinitions are disallowed | Source incompatible | Preview 5 |
Incorrect usage of DynamicResource causes application crash | Source incompatible/behavioral change | Preview 4 |
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Training
Learning path
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Events
Sep 19, 3 PM - Sep 19, 3 PM
.NET 10 launches at .NET Conf 2025! Tune in with the .NET community to celebrate and learn about the new release on November 11 - 13.
Save the dateAsk Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in