Condividi tramite


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" />

Vedi anche