緩和:圖示物件中的 PNG 畫面格

從 .NET Framework 4.6 開始,Icon.ToBitmap 方法可將具有 PNG 畫面格的圖示成功轉換成 Bitmap 物件。

在以 .NET Framework 4.5.2 和更早版本為目標的應用程式中,如果 Icon 物件具有 PNG 畫面格,Icon.ToBitmap 方法會擲回 ArgumentOutOfRangeException 例外狀況。

影響

這項變更會影響重新撰寫之以 .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" />

另請參閱