UnwindNativeCode n’est pas pris en charge sur les cibles Apple

Dans .NET 11, UnwindNativeCode n'est pas pris en charge sur les cibles Apple.

Version introduite

.NET 11

Comportement antérieur

Les projets Apple qui utilisaient Mono pouvaient définir MarshalManagedExceptionMode=UnwindNativeCode.

Nouveau comportement

CoreCLR ne prend pas en charge MarshalManagedExceptionMode=UnwindNativeCode. La charge de travail Apple signale l’erreur 0185.

Type de changement avec rupture de compatibilité

Cette modification affecte la compatibilité du code source et est un changement comportemental.

Raison du changement

CoreCLR ne prend pas en charge le déroulement des exceptions managées via des trames de pile natives dans ce mode.

  • Supprimez MarshalManagedExceptionMode=UnwindNativeCode.
  • Interceptez les exceptions managées avant qu’elles ne traversent le code natif.
  • Retournez une valeur d’état, créez une exception Objective-C ou utilisez une stratégie d’abandon prise en charge.

API affectées

None. Cette modification affecte la MarshalManagedExceptionMode propriété MSBuild.