dotnet / dotnet/docs

[Breaking change]: .NETStandard 1.0 / .NET Core 1.x packages will be deprecated

Open
#51,561 1 comment 1 reaction 1 assignee Claimed by @gewarren View on GitHub
:watch: Not Triaged breaking-change
Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
15h 21m
Merged PRs (30d)
370

Description

### Description

The following packages are only used when targeting .NETStandard1.x and .NETCore 1.x. These frameworks have not been supported for some time. When the .NET 8 SDK goes out of support [November 2026] the following packages will be marked as deprecated. Any dependencies on these should be removed since they are not required for any supported frameworks.

- Microsoft.NETCore.App
- Microsoft.Win32.Primitives
- NETStandard.Library < 2.0
- runtime.any.System.Collections
- runtime.any.System.Diagnostics.Tools
- runtime.any.System.Diagnostics.Tracing
- runtime.any.System.Globalization
- runtime.any.System.Globalization.Calendars
- runtime.any.System.IO
- runtime.any.System.Reflection
- runtime.any.System.Reflection.Extensions
- runtime.any.System.Reflection.Primitives
- runtime.any.System.Resources.ResourceManager
- runtime.any.System.Runtime
- runtime.any.System.Runtime.Handles
- runtime.any.System.Runtime.InteropServices
- runtime.any.System.Text.Encoding
- runtime.any.System.Text.Encoding.Extensions
- runtime.any.System.Threading.Tasks
- runtime.any.System.Threading.Timer
- runtime.aot.System.Collections
- runtime.aot.System.Diagnostics.Tools
- runtime.aot.System.Diagnostics.Tracing
- runtime.aot.System.Globalization
- runtime.aot.System.Globalization.Calendars
- runtime.aot.System.IO
- runtime.aot.System.Reflection
- runtime.aot.System.Reflection.Extensions
- runtime.aot.System.Reflection.Primitives
- runtime.aot.System.Resources.ResourceManager
- runtime.aot.System.Runtime
- runtime.aot.System.Runtime.Handles
- runtime.aot.System.Runtime.InteropServices
- runtime.aot.System.Text.Encoding
- runtime.aot.System.Text.Encoding.Extensions
- runtime.aot.System.Threading.Tasks
- runtime.aot.System.Threading.Timer
- runtime.debian.8-x64.runtime.native.System
- runtime.debian.8-x64.runtime.native.System.IO.Compression
- runtime.debian.8-x64.runtime.native.System.Net.Http
- runtime.debian.8-x64.runtime.native.System.Net.Security
- runtime.debian.8-x64.runtime.native.System.Security.Cryptography
- runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.debian.9-x64.runtime.native.System
- runtime.debian.9-x64.runtime.native.System.IO.Compression
- runtime.debian.9-x64.runtime.native.System.Net.Http
- runtime.debian.9-x64.runtime.native.System.Net.Security
- runtime.fedora.23-x64.runtime.native.System
- runtime.fedora.23-x64.runtime.native.System.IO.Compression
- runtime.fedora.23-x64.runtime.native.System.Net.Http
- runtime.fedora.23-x64.runtime.native.System.Net.Security
- runtime.fedora.23-x64.runtime.native.System.Security.Cryptography
- runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.fedora.24-x64.runtime.native.System
- runtime.fedora.24-x64.runtime.native.System.IO.Compression
- runtime.fedora.24-x64.runtime.native.System.Net.Http
- runtime.fedora.24-x64.runtime.native.System.Net.Security
- runtime.fedora.24-x64.runtime.native.System.Security.Cryptography
- runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.fedora.27-x64.runtime.native.System
- runtime.fedora.27-x64.runtime.native.System.IO.Compression
- runtime.fedora.27-x64.runtime.native.System.Net.Http
- runtime.fedora.27-x64.runtime.native.System.Net.Security
- runtime.fedora.28-x64.runtime.native.System
- runtime.fedora.28-x64.runtime.native.System.IO.Compression
- runtime.fedora.28-x64.runtime.native.System.Net.Http
- runtime.fedora.28-x64.runtime.native.System.Net.Security
- runtime.opensuse.13.2-x64.runtime.native.System
- runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression
- runtime.opensuse.13.2-x64.runtime.native.System.Net.Http
- runtime.opensuse.13.2-x64.runtime.native.System.Net.Security
- runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography
- runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.opensuse.42.1-x64.runtime.native.System
- runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression
- runtime.opensuse.42.1-x64.runtime.native.System.Net.Http
- runtime.opensuse.42.1-x64.runtime.native.System.Net.Security
- runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography
- runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.opensuse.42.3-x64.runtime.native.System
- runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression
- runtime.opensuse.42.3-x64.runtime.native.System.Net.Http
- runtime.opensuse.42.3-x64.runtime.native.System.Net.Security
- runtime.osx.10.10-x64.runtime.native.System
- runtime.osx.10.10-x64.runtime.native.System.IO.Compression
- runtime.osx.10.10-x64.runtime.native.System.Net.Http
- runtime.osx.10.10-x64.runtime.native.System.Net.Security
- runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography
- runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple
- runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.rhel.7-x64.runtime.native.System
- runtime.rhel.7-x64.runtime.native.System.IO.Compression
- runtime.rhel.7-x64.runtime.native.System.Net.Http
- runtime.rhel.7-x64.runtime.native.System.Net.Security
- runtime.rhel.7-x64.runtime.native.System.Security.Cryptography
- runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.ubuntu.14.04-x64.runtime.native.System
- runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression
- runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http
- runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security
- runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography
- runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.ubuntu.16.04-x64.runtime.native.System
- runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression
- runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http
- runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security
- runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography
- runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.ubuntu.16.10-x64.runtime.native.System
- runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression
- runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http
- runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security
- runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography
- runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl
- runtime.ubuntu.18.04-x64.runtime.native.System
- runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression
- runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http
- runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security
- runtime.unix.Microsoft.Win32.Primitives
- runtime.unix.System.Console
- runtime.unix.System.Diagnostics.Debug
- runtime.unix.System.IO.FileSystem
- runtime.unix.System.Net.Primitives
- runtime.unix.System.Net.Sockets
- runtime.unix.System.Private.Uri
- runtime.unix.System.Runtime.Extensions
- runtime.win.Microsoft.Win32.Primitives
- runtime.win.System.Console
- runtime.win.System.Diagnostics.Debug
- runtime.win.System.IO.FileSystem
- runtime.win.System.Net.Primitives
- runtime.win.System.Net.Sockets
- runtime.win.System.Runtime.Extensions
- runtime.win10-arm64.runtime.native.System.IO.Compression
- runtime.win10-arm-aot.runtime.native.System.IO.Compression
- runtime.win10-x64-aot.runtime.native.System.IO.Compression
- runtime.win10-x86-aot.runtime.native.System.IO.Compression
- runtime.win7.System.Private.Uri
- runtime.win7-x64.runtime.native.System.IO.Compression
- runtime.win7-x86.runtime.native.System.IO.Compression
- runtime.win8-arm.runtime.native.System.IO.Compression
- System.AppContext
- System.Collections
- System.Collections.Concurrent
- System.Collections.NonGeneric
- System.Collections.Specialized
- System.ComponentModel
- System.ComponentModel.Annotations
- System.ComponentModel.EventBasedAsync
- System.ComponentModel.Primitives
- System.ComponentModel.TypeConverter
- System.Console
- System.Data.Common
- System.Diagnostics.Contracts
- System.Diagnostics.Debug
- System.Diagnostics.FileVersionInfo
- System.Diagnostics.Process
- System.Diagnostics.StackTrace
- System.Diagnostics.TextWriterTraceListener
- System.Diagnostics.Tools
- System.Diagnostics.TraceSource
- System.Diagnostics.Tracing
- System.Drawing.Primitives
- System.Dynamic.Runtime
- System.Globalization
- System.Globalization.Calendars
- System.Globalization.Extensions
- System.IO
- System.IO.Compression
- System.IO.Compression.ZipFile
- System.IO.FileSystem
- System.IO.FileSystem.DriveInfo
- System.IO.FileSystem.Primitives
- System.IO.FileSystem.Watcher
- System.IO.IsolatedStorage
- System.IO.MemoryMappedFiles
- System.IO.Pipes
- System.IO.UnmanagedMemoryStream
- System.Linq
- System.Linq.Expressions
- System.Linq.Parallel
- System.Linq.Queryable
- System.Net.Http
- System.Net.NameResolution
- System.Net.NetworkInformation
- System.Net.Ping
- System.Net.Primitives
- System.Net.Requests
- System.Net.Security
- System.Net.Sockets
- System.Net.WebHeaderCollection
- System.Net.WebSockets
- System.Net.WebSockets.Client
- System.ObjectModel
- System.Private.DataContractSerialization
- System.Private.Uri
- System.Reflection
- System.Reflection.Extensions
- System.Reflection.Primitives
- System.Reflection.TypeExtensions
- System.Resources.Reader
- System.Resources.ResourceManager
- System.Resources.Writer
- System.Runtime
- System.Runtime.CompilerServices.VisualC
- System.Runtime.Extensions
- System.Runtime.Handles
- System.Runtime.InteropServices
- System.Runtime.InteropServices.RuntimeInformation
- System.Runtime.Loader
- System.Runtime.Numerics
- System.Runtime.Serialization.Formatters
- System.Runtime.Serialization.Json
- System.Runtime.Serialization.Primitives
- System.Runtime.Serialization.Xml
- System.Security.Claims
- System.Security.Cryptography.Algorithms
- System.Security.Cryptography.Csp
- System.Security.Cryptography.Encoding
- System.Security.Cryptography.Primitives
- System.Security.Cryptography.X509Certificates
- System.Security.Principal
- System.Security.SecureString
- System.Text.Encoding
- System.Text.Encoding.Extensions
- System.Text.RegularExpressions
- System.Threading
- System.Threading.Overlapped
- System.Threading.Tasks
- System.Threading.Tasks.Parallel
- System.Threading.Thread
- System.Threading.ThreadPool
- System.Threading.Timer
- System.Xml.ReaderWriter
- System.Xml.XDocument
- System.Xml.XmlDocument
- System.Xml.XmlSerializer
- System.Xml.XPath
- System.Xml.XPath.XDocument

The following packages are no longer built and do not contain any supported implementation, however they still may be used when targeting .NETStandard2.0 as reference assemblies, there is no change to these packages, however they should not be used at all when targeting newer versions of .NET. They may be required on .NETFramework only if you are using a .NETStandard2.0 library which uses them.

- Microsoft.CSharp *
- Microsoft.VisualBasic *
- Microsoft.Win32.Registry
- System.Data.DataSetExtensions
- System.IO.FileSystem.AccessControl
- System.IO.Pipes.AccessControl
- System.Reflection.Emit *
- System.Reflection.Emit.ILGeneration *
- System.Reflection.Emit.Lightweight *
- System.Security.AccessControl
- System.Security.Cryptography.Cng
- System.Security.Cryptography.OpenSsl
- System.Security.Principal.Windows

\* these packages are not required on .NETFramework as they are provided.

### Version

Other (please put exact version in description textbox)

### Previous behavior

Packages could be installed without warning.

### New behavior

You may receive a deprecation warning with these packages.

### Type of breaking change

- [ ] **Binary incompatible**: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
- [x] **Source incompatible**: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
- [ ] **Behavioral change**: Existing binaries might behave differently at run time.

### Reason for change

These packages are not required for any in support frameworks.

### Recommended action

Remove your references to these packages, stop building projects targeting out of support frameworks. When targeting newer in-support frameworks like .NET 10.0 and newer you will already receive a warning when directly referencing any of these packages, and they will automatically be pruned from indirect references.

### Feature area

Core .NET libraries

### Affected APIs

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.