Mitigación: marcos PNG en objetos de icono

A partir de .NET Framework 4.6, el método Icon.ToBitmap convierte correctamente iconos con marcos PNG en objetos Bitmap.

En aplicaciones destinadas a .NET Framework 4.5.2 y versiones anteriores, el método Icon.ToBitmap genera una excepción ArgumentOutOfRangeException si el objeto Icon tiene marcos PNG.

Impacto

Este cambio afecta a las aplicaciones que se vuelven a compilar para tener como destino .NET Framework 4.6 y que implementan un control especial para ArgumentOutOfRangeException que se genera cuando un objeto Icon tiene marcos PNG. Cuando se ejecuta en .NET Framework 4.6, la conversión es correcta, ya no se genera un ArgumentOutOfRangeException y, por tanto, ya no se invoca el controlador de excepciones.

Mitigación

Si no desea este comportamiento, puede conservar el comportamiento anterior agregando el siguiente elemento en la sección <runtime> del archivo app.config:

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

Si el archivo app.config ya contiene el elemento AppContextSwitchOverrides , el nuevo valor se debe combinar con el atributo value como este:

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

Vea también