次の方法で共有


軽減策:Icon オブジェクトの PNG フレーム

.NET Framework 4.6 以降では、Icon.ToBitmap メソッドで、PNG フレームを含むアイコンを Bitmap オブジェクトに正常に変換できます。

.NET Framework 4.5.2 以前のバージョンを対象としたアプリでは、 Icon.ToBitmap オブジェクトに PNG フレームが含まれていると、 ArgumentOutOfRangeException メソッドが 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" />

関連項目