Решение проблемы: кадры PNG в объектах Icon
Начиная с платформа .NET Framework 4.6 Icon.ToBitmap метод успешно преобразует значки с кадрами PNG в Bitmap объекты.
В приложениях, предназначенных для .NET Framework 4.5.2 и более ранних версий, метод Icon.ToBitmap создает исключение ArgumentOutOfRangeException, если объект Icon содержит кадры PNG.
Воздействие
Это изменение затрагивает приложения, которые компилируются повторно для платформы .NET Framework 4.6 и в которых реализуется специальная обработка исключения ArgumentOutOfRangeException , создаваемого при наличии кадров PNG в объекте Icon . При выполнении в платформа .NET Framework 4.6 преобразование выполняется успешно, ArgumentOutOfRangeException создается исключение, поэтому обработчик исключений больше не вызывается.
Исправление
Если это поведение нежелательно, можно сохранить предыдущее поведение, добавив следующий элемент в <раздел среды выполнения> файла app.config:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true" />
Если файл app.config уже содержит элемент AppContextSwitchOverrides
, новое значение следует объединить с атрибутом value
следующим образом:
<AppContextSwitchOverrides
value="Switch.System.Drawing.DontSupportPngFramesInIcons=true;previous key=previous-value" />