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