Problemumgehung: PNG-Bilder in Symbolobjekten

Ab .NET Framework 4.6 konvertiert die Icon.ToBitmap -Methode Symbole mit PNG-Bildern erfolgreich in Bitmap -Objekte.

In Apps, die auf .NET Framework 4.5.2 und frühere Versionen ausgerichtet sind, löst die Icon.ToBitmap -Methode eine ArgumentOutOfRangeException -Ausnahme aus, wenn das Icon -Objekt PNG-Bilder aufweist.

Auswirkungen

Diese Änderung betrifft Apps, die neu kompiliert werden, um sie auf .NET Framework 4.6 auszurichten, und die eine spezielle Behandlung für die ArgumentOutOfRangeException implementieren, die ausgelöst wird, wenn ein Icon -Objekt PNG-Bilder aufweist. Bei der Ausführung unter .NET Framework 4.6 wird die Konvertierung erfolgreich durchgeführt und eine ArgumentOutOfRangeException wird nicht mehr ausgelöst. Daher wird der Ausnahmehandler nicht mehr aufgerufen.

Problemumgehung

Wenn dieses Verhalten nicht erwünscht ist, können Sie das vorherige Verhalten beibehalten, indem Sie das folgende Element zum <runtime>-Abschnitt Ihrer app.config-Datei hinzufügen:

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

Wenn die Datei „app.config“ bereits das AppContextSwitchOverrides-Element enthält, muss der neue Wert wie folgt mit dem value-Attribut zusammengeführt werden:

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

Siehe auch

Neuausrichtungsänderungen