From 1a9b042c7994e99f129957f2ca4d201c5c6a8dbb Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Tue, 22 Aug 2023 15:37:29 -0700 Subject: [PATCH] idispatchimplattribute removed --- docs/core/compatibility/8.0.md | 1 + docs/core/compatibility/fx-core.md | 7 +++- .../8.0/idispatchimplattribute-removed.md | 36 +++++++++++++++++++ docs/core/compatibility/toc.yml | 4 +++ docs/core/compatibility/unsupported-apis.md | 3 +- 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 docs/core/compatibility/interop/8.0/idispatchimplattribute-removed.md diff --git a/docs/core/compatibility/8.0.md b/docs/core/compatibility/8.0.md index 0d8ea83bcbbfa..ca679932e0d82 100644 --- a/docs/core/compatibility/8.0.md +++ b/docs/core/compatibility/8.0.md @@ -95,6 +95,7 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff | Title | Type of change | Introduced | | ------------------------------------------------------------------------------------------------- | ------------------- | ---------- | | [CreateObjectFlags.Unwrap only unwraps on target instance](interop/8.0/comwrappers-unwrap.md) | Behavioral change | Preview 5 | +| [IDispatchImplAttribute API is removed](interop/8.0/idispatchimplattribute-removed.md) | Binary incompatible | Preview 6 | | [SafeHandle types must have public constructor](interop/8.0/safehandle-constructor.md) | Source incompatible | Preview 5 | ## Reflection diff --git a/docs/core/compatibility/fx-core.md b/docs/core/compatibility/fx-core.md index e2a3243599e7b..17f26084d2add 100644 --- a/docs/core/compatibility/fx-core.md +++ b/docs/core/compatibility/fx-core.md @@ -2,7 +2,7 @@ title: Breaking changes - .NET Framework to .NET Core titleSuffix: "" description: Lists the breaking changes from .NET Framework to .NET Core 1.0 - 3.1. -ms.date: 05/05/2020 +ms.date: 08/22/2023 --- # Breaking changes for migration from .NET Framework to .NET Core @@ -14,11 +14,16 @@ If you're migrating an app from .NET Framework to .NET Core versions 1.0 through ## Core .NET libraries - [Change in default value of UseShellExecute](#change-in-default-value-of-useshellexecute) +- [IDispatchImplAttribute API is removed](#net-8) - [UnauthorizedAccessException thrown by FileSystemInfo.Attributes](#unauthorizedaccessexception-thrown-by-filesysteminfoattributes) - [Handling corrupted-process-state exceptions is not supported](#handling-corrupted-state-exceptions-is-not-supported) - [UriBuilder properties no longer prepend leading characters](#uribuilder-properties-no-longer-prepend-leading-characters) - [Process.StartInfo throws InvalidOperationException for processes you didn't start](#processstartinfo-throws-invalidoperationexception-for-processes-you-didnt-start) +### .NET 8 + +[IDispatchImplAttribute API is removed](interop/8.0/idispatchimplattribute-removed.md) + ### .NET Core 2.1 [!INCLUDE[Process.Start changes](~/includes/core-changes/corefx/2.1/process-start-changes.md)] diff --git a/docs/core/compatibility/interop/8.0/idispatchimplattribute-removed.md b/docs/core/compatibility/interop/8.0/idispatchimplattribute-removed.md new file mode 100644 index 0000000000000..d2d8f99b4975c --- /dev/null +++ b/docs/core/compatibility/interop/8.0/idispatchimplattribute-removed.md @@ -0,0 +1,36 @@ +--- +title: "Breaking change: IDispatchImplAttribute API is removed" +description: Learn about the breaking change in interop in .NET 8 where the IDispatchImplAttribute API has been removed. +ms.date: 08/22/2023 +--- +# IDispatchImplAttribute API is removed + +The implementation has officially been removed from .NET. This type was only discoverable at run time and its removal has no impact on visible API surface area. However, if an assembly targeting .NET Framework uses this type and is loaded in .NET 8 or a later version, the runtime will throw a . + +## Previous behavior + +The type could be found at run time, but none of the documented semantics of the deprecated attribute applied. + +## New behavior + +Starting in .NET 8, attempting to load an assembly that contains this attribute throws a . + +## Version introduced + +.NET 8 Preview 6 + +## Type of breaking change + +This change can affect [binary compatibility](../../categories.md#binary-compatibility). + +## Reason for change + +This attribute was removed as it was not longer respected and served no functional purpose. + +## Recommended action + +Remove use of this API in assemblies that are loaded in .NET 8 and later versions. + +## Affected APIs + +- diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index 39da9122cbc9c..7c117f75cc11a 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -100,6 +100,8 @@ items: items: - name: CreateObjectFlags.Unwrap only unwraps on target instance href: interop/8.0/comwrappers-unwrap.md + - name: IDispatchImplAttribute API is removed + href: interop/8.0/idispatchimplattribute-removed.md - name: SafeHandle types must have public constructor href: interop/8.0/safehandle-constructor.md - name: Reflection @@ -1368,6 +1370,8 @@ items: items: - name: CreateObjectFlags.Unwrap only unwraps on target instance href: interop/8.0/comwrappers-unwrap.md + - name: IDispatchImplAttribute API is removed + href: interop/8.0/idispatchimplattribute-removed.md - name: SafeHandle types must have public constructor href: interop/8.0/safehandle-constructor.md - name: .NET 7 diff --git a/docs/core/compatibility/unsupported-apis.md b/docs/core/compatibility/unsupported-apis.md index 1cc169b4c6dbf..aeab5c2d7effa 100644 --- a/docs/core/compatibility/unsupported-apis.md +++ b/docs/core/compatibility/unsupported-apis.md @@ -2,7 +2,7 @@ title: Unsupported APIs on .NET Core and .NET 5+ titleSuffix: "" description: Learn which .NET APIs always throw an exception on .NET Core and .NET 5 and later versions. -ms.date: 05/02/2023 +ms.date: 08/22/2023 --- # APIs that always throw exceptions on .NET Core and .NET 5+ @@ -184,6 +184,7 @@ This article organizes the affected APIs by namespace. | Member | Platforms that throw | | - | - | +| | All | | | All | | | All | | | All |