軽減策: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" />
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET