Atténuation : cadres PNG dans les objets Icon

À compter du .NET Framework 4.6, la méthode Icon.ToBitmap convertit correctement les icônes avec des cadres PNG en objets Bitmap.

Dans les applications qui ciblent le .NET Framework 4.5.2 et les versions antérieures, la méthode Icon.ToBitmap lève une exception ArgumentOutOfRangeException si l’objet Icon comporte des cadres PNG.

Impact

Cette modification affecte les applications qui sont recompilées pour cibler le .NET Framework 4.6 et qui implémentent un traitement spécial pour l’exception ArgumentOutOfRangeException qui est levée quand un objet Icon comporte des cadres PNG. Lors d’une exécution sous le .NET Framework 4.6, la conversion réussit, une exception ArgumentOutOfRangeException n’est plus levée et le gestionnaire d’exceptions n’est donc plus appelé.

Limitation des risques

Si ce comportement est non souhaité, vous pouvez conserver le comportement précédent en ajoutant l’élément suivant à la section <runtime> de votre fichier app.config :

<AppContextSwitchOverrides
      value="Switch.System.Drawing.DontSupportPngFramesInIcons=true" />  

Si le fichier app.config contient déjà l’élément AppContextSwitchOverrides , la nouvelle valeur doit être fusionnée avec l’attribut value comme ceci :

<AppContextSwitchOverrides
      value="Switch.System.Drawing.DontSupportPngFramesInIcons=true;previous key=previous-value" />

Voir aussi