Microsoftは先月、.NET Framework 2022年1月の累積更新プレビューをリリースした。これは.NET Frameworkをサポートするという同社の約束の一部である。この更新プログラムは、.NET Frameworkバージョン3.5および4.8を対象としており、共通言語ランタイム(CLR)とWindows Presentation Foundation(WPF)に重点を置いている。
プレビューリリースは、Windows OSの.NET Framework機能の信頼性と品質を向上させることを目的としている。
信頼性の観点から、この更新プログラムではCLRクラッシュの問題を修正している。これは、非共有ジェネリックコードから共有ジェネリックコードを呼び出そうとしているときに、特定のパスでガベージコレクターによって引き起こされる(これは、ランタイムがジェネリックメソッド用に生成するコードの量を減らすことを目的としたランタイム+JIT機能)。これは、より安定したメモリ管理とメモリリークの低減を提供することを目的としている。
このアップデートでは、UseLayoutRoundingが有効で、アイテムのマージンが丸めクォンタムの倍数ではないリストコントロールをスクロールするときの「ハング」に関する複数の問題に対処する。(クォンタムは事実上、DPIスケーリングの関数である。)
もう1つの重要な問題では、ItemsControlによって表示されるコレクションにアイテムまたはグループを追加するときに発生する「高さが負であってはならない」という例外に対処する。
対処された最後の問題は、共有コンテキストメニューの所有者がビジュアルツリーから削除されて一度表示に失敗すると、その後共有コンテキストメニューの表示が停止することである。
WPF内のUI修正により、WPFアプリケーションウィンドウのサイズを変更する際の一貫性のあるエクスペリエンスが提供されるだけでなく、さまざまな解像度のサポートも向上している。
<StackPanel Width="150" Margin="7" Orientation="Horizontal">
<!-- Single pixel line with layout rounding turned OFF.-->
<Rectangle UseLayoutRounding="False"
Width="45.5" Margin="10" Height="1" Fill="Red"/>
<!-- Single pixel line with layout rounding turned ON.-->
<Rectangle UseLayoutRounding="True"
Width="45.5" Margin="10" Height="1" Fill="Red"/>
</StackPanel>
このリリースでは、新たなセキュリティの改善はない。このアップデートは累積的であり、以前にリリースされたセキュリティの改善がすべて含まれる。
この更新プログラムは、Windows 10および11用の.NET FrameworkとWindows Serverを対象としている。サポートされているオペレーティングシステムのバージョンの詳細なリストについては、リリースステートメントを確認してください。
この更新プログラムを入手するには、Windows Update、Windows Server Update Service、Microsoft Updateカタログのいずれかを使用する必要がある。
Microsoftは、引き続き.NET Frameworks 3.5および4.xの更新プログラムをOSのコンポーネントとして定義し続け、更新プログラムは、インストールされているWindowsバージョンと同じライフサイクルポリシーを前提としている。
興味のある読者は、Microsoft .NETブログで詳細を学ぶことができる。