Skip to content

[Breaking change]: Features marked as Obsolete in .NET 7 #31401

Closed
@ViktorHofer

Description

@ViktorHofer

Description

Starting with .NET 7 Preview 3, a small set of APIs which were previously announced to be made obsolete are now effectively marked as obsolete via the ObsoleteAttribute and will impact the developer's build. This is a continuation of #20894 which announced several APIs as obsolete but never made the corresponding change in the core libraries.

Version

Other (please put exact version in description textbox)

Previous behavior

These APIs could be referenced without any build warnings.

New behavior

References to these APIs will produce build warnings with the corresponding diagnostics.

Type of breaking change

  • Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
  • Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

Reason for change

These APIs were marked as obsolete for different reasons.

Recommended action

Follow the recommended action that is emitted when using the obsolete API.

Feature area

Core .NET libraries

Affected APIs

The following APIs are now correctly marked as Obsolete and will impact the build:

  • System.ComponentModel.IComNativeDescriptorHandler
  • System.ComponentModel.MemberDescriptor.GetInvokee(Type, Object)
  • System.Data.OleDb.OleDbParameterCollection.Add(String, Object)
  • System.Net.FileWebRequest.GetObjectData(*)
  • System.Net.FileWebResponse.GetObjectData(*)
  • System.Net.HttpWebRequest.HttpWebRequest(SerializationInfo, StreamingContext)
  • System.Net.HttpWebRequest.GetObjectData(*)
  • System.Net.WebResponse.WebResponse(SerializationInfo, StreamingContext)
  • System.Net.WebResponse.GetObjectData(*)
  • System.Security.Cryptography.PasswordDeriveBytes.GetBytes(int)
  • System.Web.HttpUtility.UrlEncodeUnicode(string)
  • System.Web.HttpUtility.UrlEncodeUnicodeToBytes(string)

Metadata

Metadata

Assignees

Labels

🏁 Release: .NET 7Work items for the .NET 7 releasebreaking-changeIndicates a .NET Core breaking changesource incompatibleSource code may encounter a breaking change in behavior when targeting the new version.

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions