Compartilhar via


Mitigação: quadros PNG em objetos de ícone

A partir do .NET Framework 4.6, o Icon.ToBitmap método converte com êxito ícones com quadros PNG em Bitmap objetos.

Em aplicativos destinados ao .NET Framework 4.5.2 e versões anteriores, o Icon.ToBitmap método gerará uma ArgumentOutOfRangeException exceção se o Icon objeto tiver quadros PNG.

Impacto

Essa alteração afeta aplicativos que são recompilados para direcionamento ao .NET Framework 4.6 e que implementam tratamento especial para a ArgumentOutOfRangeException que será gerada se um objeto Icon tiver quadros PNG. Ao executar no .NET Framework 4.6, a conversão é bem-sucedida, uma ArgumentOutOfRangeException não é mais lançada e, portanto, o manipulador de exceção não é mais invocado.

Atenuação

Se esse comportamento for indesejável, você poderá manter o comportamento anterior adicionando o seguinte elemento à <seção de runtime> do arquivo app.config:

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

Se o arquivo app.config já contiver o AppContextSwitchOverrides elemento, o novo valor deverá ser mesclado com o value atributo como este:

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

Consulte também