Attenuazione: Frame PNG in oggetti icona
A partire da .NET Framework 4.6, il metodo Icon.ToBitmap converte correttamente le icone con i frame PNG in oggetti Bitmap.
Nelle app destinate a .NET Framework 4.5.2 e alle versioni precedenti, il metodo Icon.ToBitmap genera un'eccezione ArgumentOutOfRangeException se l'oggetto Icon presenta frame PNG.
Impatto
Questa modifica influisce sulle app che vengono ricompilate per essere destinate a .NET Framework 4.6 e che implementano una gestione speciale per l'eccezione ArgumentOutOfRangeException generata quando un oggetto Icon presenta frame PNG. Quando è in esecuzione su .NET Framework 4.6, la conversione viene completata correttamente, non viene più generata un'eccezione ArgumentOutOfRangeException e quindi non viene più richiamato il gestore di eccezioni.
Mitigazione
Se questo comportamento è indesiderato, è possibile conservare il comportamento precedente aggiungendo l'elemento seguente alla sezione <runtime> del file app.config:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true" />
Se il file app.config contiene già l'elemento AppContextSwitchOverrides
, il nuovo valore deve essere unito con l'attributo value
come nell'esempio seguente:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true;previous key=previous-value" />