Skip to content

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

@ericstj

Description

@ericstj

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 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.
  • 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

πŸ”– Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions