缓解:图标对象中的 PNG 帧
从 .NET Framework 4.6 开始,Icon.ToBitmap 方法成功将带 PNG 帧的图标转换为 Bitmap 对象。
在面向 .NET Framework 4.5.2 和更早版本的应用中, Icon.ToBitmap 方法在 ArgumentOutOfRangeException 对象具有 PNG 帧时引发 Icon 异常。
影响
此更改会影响以下应用:重新编译为面向 .NET Framework 4.6 的应用,以及对在 ArgumentOutOfRangeException 对象具有 PNG 帧时引发的 Icon 实施特殊处理的应用。 在.NET Framework 4.6 下运行时,转换成功,不再引发 ArgumentOutOfRangeException,因此不再调用异常处理程序。
缓解措施
如果不需要此行为,可通过在 app.config 文件的 <runtime> 部分添加以下元素来保留旧行为:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true" />
如果 app.config 文件中已包含 AppContextSwitchOverrides
元素,新值应与 value
特性合并,如下所示:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true;previous key=previous-value" />