Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library support breaking change #31495

Merged
merged 2 commits into from
Sep 30, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/core/compatibility/7.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ If you're migrating an app to .NET 7, the breaking changes listed here might aff
| [Collectible Assembly in non-collectible AssemblyLoadContext](core-libraries/7.0/collectible-assemblies.md) | ❌ | ✔️ | Preview 5 |
| [Equals method behavior change for NaN](core-libraries/7.0/equals-nan.md) | ❌ | ✔️ | Preview 5 |
| [Generic type constraint on PatternContext\<T>](core-libraries/7.0/patterncontext-generic-constraint.md) | ❌ | ❌ | Preview 3 |
| [Library support for older frameworks](core-libraries/7.0/old-framework-support.md) | ❌ | ❌ | Preview 1 |
| [Maximum precision for numeric format strings](core-libraries/7.0/max-precision-numeric-format-strings.md) | ❌ | ✔️ | RC 1 |
| [SerializationFormat.Binary is obsolete](core-libraries/7.0/serializationformat-binary.md) | ❌ | ❌ | Preview 2 |
| [Validate CompressionLevel for BrotliStream](core-libraries/7.0/compressionlevel-validation.md) | ❌ | ✔️ | Preview 1 |
Expand Down
147 changes: 147 additions & 0 deletions docs/core/compatibility/core-libraries/7.0/old-framework-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
---
title: ".NET 7 breaking change: Library support for older frameworks"
description: Learn about the .NET 7 breaking change in core .NET libraries where core libraries packages are no longer supported on some older frameworks.
ms.date: 09/29/2022
---
# Library support for older frameworks

Installing the core libraries packages into projects whose target framework is older than the following versions is no longer supported:

- .NET Framework 4.6.2
- .NET 6
- .NET Standard 2.0

## Previous behavior

The latest non-prerelease core libraries packages that were part of the ".NET 6" wave were supported when used from projects targeting .NET Framework 4.6.1 or later, .NET Core 3.1 and later, or .NET Standard 2.0 or later.

## New behavior

.NET 7 core libraries packages are supported for use in projects targeting .NET Framework 4.6.2 and later, .NET 6 and later, or .NET Standard 2.0 or later.

## Version introduced

.NET 7 Preview 1

## Type of breaking change

This change can affect [source compatibility](../../categories.md#source-compatibility) and [binary compatibility](../../categories.md#binary-compatibility).

## Reason for change

Building packages for all existing frameworks increases the complexity and size of a package. The following frameworks are now out-of-support and we no longer build packages for these frameworks:

- .NET Framework 4.6.1
- .NET Core 3.1
- .NET 5

## Recommended action

- If your project is no longer being evolved and only maintained, simply don't upgrade the impacted packages.
- If your project is actively developed, upgrade it to one of the following frameworks:

- .NET Framework 4.6.2
- .NET Core 6
- .NET Standard 2.0

## Affected APIs

The following packages no longer ship old frameworks:

- Microsoft.Bcl.AsyncInterfaces
gewarren marked this conversation as resolved.
Show resolved Hide resolved
- Microsoft.Extensions.Caching.Abstractions
- Microsoft.Extensions.Caching.Memory
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Configuration.Abstractions
- Microsoft.Extensions.Configuration.Binder
- Microsoft.Extensions.Configuration.CommandLine
- Microsoft.Extensions.Configuration.EnvironmentVariables
- Microsoft.Extensions.Configuration.FileExtensions
- Microsoft.Extensions.Configuration.Ini
- Microsoft.Extensions.Configuration.Json
- Microsoft.Extensions.Configuration.UserSecrets
- Microsoft.Extensions.Configuration.Xml
- Microsoft.Extensions.DependencyInjection
- Microsoft.Extensions.DependencyInjection.Abstractions
- Microsoft.Extensions.DependencyInjection.Specification.Tests
- Microsoft.Extensions.DependencyModel
- Microsoft.Extensions.FileProviders.Abstractions
- Microsoft.Extensions.FileProviders.Composite
- Microsoft.Extensions.FileProviders.Physical
- Microsoft.Extensions.FileSystemGlobbing
- Microsoft.Extensions.Hosting
- Microsoft.Extensions.Hosting.Abstractions
- Microsoft.Extensions.Hosting.Systemd
- Microsoft.Extensions.Hosting.WindowsServices
- Microsoft.Extensions.Http
- Microsoft.Extensions.Logging
- Microsoft.Extensions.Logging.Abstractions
- Microsoft.Extensions.Logging.Configuration
- Microsoft.Extensions.Logging.Console
- Microsoft.Extensions.Logging.Debug
- Microsoft.Extensions.Logging.EventLog
- Microsoft.Extensions.Logging.EventSource
- Microsoft.Extensions.Logging.TraceSource
- Microsoft.Extensions.Options
- Microsoft.Extensions.Options.ConfigurationExtensions
- Microsoft.Extensions.Options.DataAnnotations
- Microsoft.Extensions.Primitives
- Microsoft.NET.WebAssembly.Threading
- Microsoft.NETCore.Platforms
- Microsoft.Win32.Registry.AccessControl
- Microsoft.Win32.SystemEvents
- Microsoft.Windows.Compatibility
- Microsoft.XmlSerializer.Generator
- System.CodeDom
- System.Collections.Immutable
- System.ComponentModel.Composition
- System.ComponentModel.Composition.Registration
- System.Composition
- System.Composition.AttributedModel
- System.Composition.Convention
- System.Composition.Hosting
- System.Composition.Runtime
- System.Composition.TypedParts
- System.Configuration.ConfigurationManager
- System.Data.Odbc
- System.Data.OleDb
- System.Diagnostics.DiagnosticSource
- System.Diagnostics.EventLog
- System.Diagnostics.PerformanceCounter
- System.DirectoryServices
- System.DirectoryServices.AccountManagement
- System.DirectoryServices.Protocols
- System.Drawing.Common
- System.Formats.Asn1
- System.Formats.Cbor
- System.IO.Hashing
- System.IO.Packaging
- System.IO.Pipelines
- System.IO.Ports
- System.Management
- System.Memory.Data
- System.Net.Http.Json
- System.Net.Http.WinHttpHandler
- System.Numerics.Tensors
- System.Reflection.Context
- System.Reflection.Metadata
- System.Reflection.MetadataLoadContext
- System.Resources.Extensions
- System.Runtime.Caching
- System.Runtime.Serialization.Schema
- System.Security.Cryptography.Cose
- System.Security.Cryptography.Pkcs
- System.Security.Cryptography.ProtectedData
- System.Security.Cryptography.Xml
- System.Security.Permissions
- System.ServiceModel.Syndication
- System.ServiceProcess.ServiceController
- System.Speech
- System.Text.Encoding.CodePages
- System.Text.Encodings.Web
- System.Text.Json
- System.Threading.AccessControl
- System.Threading.Channels
- System.Threading.RateLimiting
- System.Threading.Tasks.Dataflow
- System.Windows.Extensions
4 changes: 4 additions & 0 deletions docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ items:
href: core-libraries/7.0/equals-nan.md
- name: Generic type constraint on PatternContext<T>
href: core-libraries/7.0/patterncontext-generic-constraint.md
- name: Library support for older frameworks
href: core-libraries/7.0/old-framework-support.md
- name: Maximum precision for numeric format strings
href: core-libraries/7.0/max-precision-numeric-format-strings.md
- name: Reflection invoke API exceptions
Expand Down Expand Up @@ -823,6 +825,8 @@ items:
href: core-libraries/7.0/equals-nan.md
- name: Generic type constraint on PatternContext<T>
href: core-libraries/7.0/patterncontext-generic-constraint.md
- name: Library support for older frameworks
href: core-libraries/7.0/old-framework-support.md
- name: Maximum precision for numeric format strings
href: core-libraries/7.0/max-precision-numeric-format-strings.md
- name: Reflection invoke API exceptions
Expand Down