Microsoft .Net Framework4.8の新機能

Microsoftは、同社のWindows用アプリケーション開発フレームワークの最新バージョンである.Net Framework4.8をリリースしました。この更新プログラムは、共通言語ランタイム、ASP.Net、Windowsフォーム、Windows Presentation Foundation、およびWindows Communication Foundationに、多数のバグ修正、セキュリティパッチ、および改善をもたらします。 

.Net Framework4.8をダウンロードする場所

.Net Frameworkの製品版は、Microsoftの.Netサイトからダウンロードできます。 

現在のバージョン:.Net Framework4.8の新機能

2019年4月18日にリリースされた.NetFramework 4.8には、次の新機能と改善点が含まれています。

  • NGEN(Native Image Generator)の場合、.NetFrameworkのイメージには書き込み可能および実行可能セクションがなくなりました。これにより、NGENメモリアドレスを変更することにより、任意のコードを実行しようとする攻撃に利用できる表面積が減少します。
  • ディスクからロードされたかネットワークからロードされたかに関係なく、すべてのアセンブリに対してマルウェア対策スキャンが開始されるようになりました。以前は、.Netランタイムは、ディスクからロードされたアセンブリのスキャン(Windows Defenderおよびマルウェア対策スキャンインターフェイスを実装するサードパーティのマルウェア対策ソフトウェアによる)のみを開始していました。 
  • .Net Framework 4.8 JITコンパイラは、.Net Core2.1に基づいています。.Net Core2.1のバグ修正とコード生成ベースの最適化が.NetFrameworkで利用できるようになりました。
  • BCL(基本クラスライブラリ)では、Zlib外部圧縮ライブラリが改善され、X509Certificate2および関連するタイプを使用した結果として発生するオブジェクトのファイナライズの数が減少し、呼び出し元で拇印を取得するためのAPIが追加されました-指定されたダイジェストアルゴリズム。
  • さらに、.Net Framework 4.8のBCLは、暗号化に対するFIPS(連邦情報処理標準)の影響を軽減します。.Net Framework 2.0以降、暗号化ライブラリがFIPSモードで構成されている場合、暗号化プロバイダークラスは例外をスローしました。.Net 4.8では、これらの例外はデフォルトでスローされなくなりました。
  • 視覚障害者へのアプリケーションデータの通信を改善するために、Windowsフォームのアクセシビリティが強化されています。
  • ASP.Netでは、マルチパートデータ処理に影響を与える可能性のあるマルチバリューHTTPヘッダーの処理に関連する問題が修正されました。
  • 誤った値がEventListenerとして送信されるCLR(共通言語ランタイム)の問題が修正されました。
  • Windowsフォームで有効になっているラベルは、高コントラストモードが有効になっている場合、常に高コントラストのテキストカラーでレンダリングされるようになりました。これは、ターゲット.Net Framework4.8に再コンパイルされたアプリケーションに影響します。
  • XOMLファイルを使用してプロジェクトをビルドするときにXOMLファイルのチェックサムを生成するために使用されるハッシュアルゴリズムが変更されました。開発者は引き続き以前のアルゴリズムを使用できます。
  • 内部メモリキャッシュへのキーを計算するためのハッシュアルゴリズムが変更されました。開発者は引き続き以前のアルゴリズムを使用できます。
  • プロキシを介してHTTPSサーバーと通信するときにHttpWebRequestに影響するメモリリークが修正されました。
  • Windows Presentation Foundationで、UIAutomationが存在するときに親コレクションからデータ項目を削除するときに発生していたメモリリークが修正されました。
  • Windows Presentation Foundationは、モニターごとのV2DPI認識と混合モードDPIのサポートを追加しました。
  • Windows Communication Foundationで、ComboBoxコントロールが高コントラストのテーマで誤ってテーマ化される原因となっていたアクセシビリティの問題が修正されました。
  • Windows Communication Foundationでは、ServiceHealthBehaviorは、ServiceDescription.Behaviorsコレクションに追加されたサービス動作として機能します。HTTP応答コードを使用してサービスヘルスステータスを返し、サービスヘルスの公開を有効にすることができます。 

以前のバージョン:.Net Framework4.7.2の新機能

Spring Frameworkなどのテクノロジーですでに人気のある依存性注入により、あるオブジェクトが別のオブジェクトの依存性を提供できます。.Net Framework 4.7.2を使用すると、ASP.netWebフォームでこの機能を簡単に使用できます。セッター、インターフェース、コンストラクターベースのインジェクションがサポートされており、他の依存性インジェクションフレームワークをプラグインできます。

.Net Framework4.7.2のその他の新機能は次のとおりです。

  • このSameSiteプロパティはASP.NetWebフレームワークに追加され、クロスサイトリクエストでCookieを送信してはならないことを表明します。このSameSite属性の目的は、情報漏えいを減らし、クロスサイト偽造攻撃から保護することです。プロパティはに追加されHttpCookieTypeます。また、FormsAuthenticationおよびSessionStateCookieにも含まれています。
  • セキュリティとコンプライアンスを向上させるために、多要素認証に追加された対話型認証キーワードを介してAzure ActiveDirectory認証がサポートされています。これは、SqlClient接続文字列の拡張です。
  • APIが標準のコレクションタイプに追加され、HashSetを容量を使用して構築できるHashSetコンストラクターなどの新しい機能が有効になります。これは、HashSetのサイズがわかっている場合に、パフォーマンス上の利点を提供します。
  • 暗号化の改善により、RSAおよびDSAオブジェクトの作成と呼び出しが簡素化されますImportParameters
  • Windows Presentation Foundation(WPF)はStaticResourceStaticResource参照が解決されたときに診断アシスタントに通知できるようにする参照機能を追加しました。たとえば、Visual Studioの編集および続行機能などの診断アシスタントは、リソースディクショナリの値が変更または置換されたときに、リソースの使用を更新したい場合があります。
  • このWorkflowDesignerColorsクラスは、ハイコントラストモードでのUIエクスペリエンスを向上させるために追加されました。
  • Zlib解凍により、Zipのネイティブ実装を使用してZipアーカイブを解凍するためのスループットが向上しました。
  • .Net Frameworkワークロードで証明書署名要求を生成できるようになり、要求生成を既存のツールにステージングできるようになりました。
  • ClickOnceを使用して展開されたWindowsPresentation FoundationおよびHDPI対応のVSTO(Visual Studio Tools for Office)アプリケーションのモニターごとのサポートが追加されました。
  • .Net Standard2.0のサポートが改善されました。
  • 診断アシスタントは、特定のソースURIから作成されたResourceDictionariesを見つけることができます。

以前のバージョン:.Net Framework4.7.1の新機能

2017年10月中旬にMicrosoftが.NetFramework 4.7.1をリリースしたことで、開発プラットフォームはガベージコレクション、セキュリティ、およびアプリケーション構成に重大な改善をもたらしました。 

特にラージオブジェクトヒープ割り当ての場合、メモリ割り当てのパフォーマンスを向上させるために、ガベージコレクターのアーキテクチャの変更により、ヒープ割り当てがスモールオブジェクトヒープとラージオブジェクトヒープに分割されます。大きなオブジェクトヒープの割り当てを多数行うアプリケーションでは、割り当てロックの競合が減少し、パフォーマンスが向上するはずです。

この更新プログラムでは、SHA-1の後継であるSHA-2(Secure Hash Algorithm)など、ASP.Netフォーム認証用のセキュアハッシュオプションも追加されています。互換性のために、SHA-1は引き続きデフォルトのオプションです。SHA-2は、認証時にメッセージキューで使用されるハッシュアルゴリズムを指定するMessage.HashAlgorithmでもサポートされています。 

.Net 4.7.1の新しい構成ビルダーを使用すると、開発者は実行時にアプリケーションの構成を挿入してビルドできます。構成データは、構成ファイル以外のソースから取得できます。以前のバージョンの.Netでは、構成は静的です。構成ビルダーを介して、アプリケーションはカスタム定義のビルダーのセットを構成のセクションに適用できます。ビルダーは、構成セクションに含まれる構成データを変更したり、静的ファイル以外のソースから新しいデータを描画したりすることもできます。

アップグレードの他の機能は次のとおりです。

  • 複数の.Net実装で共有される一連のAPIを特徴とする.NetStandard2.0仕様のサポート。
  • ハイコントラストの機能強化、UIパターンの強化、ナレーターなどのツールのエクスペリエンスの向上など、WPF(Windows Presentation Foundation)およびWindowsフォームのアクセシビリティの向上。
  • XAMLビジュアルツリーを分析するためのツールの使用を可能にするWPFでのビジュアル診断のサポート。
  • ReadOnlyReferences C#7.2言語でのコンパイラのサポート。参照によって変数を渡すが、データを変更にさらすことはありません。
  • ランタイムが特定の機能をサポートしているかどうかを判別するためのランタイム機能検出API。
  • シリアル化SystemValueTuple可能な型。これによりSystem.Tuple 、C#7.0およびVisual Basic15.5の新しいタプル構文への移行が容易になり ます。
  • HttpCookie文字列からオブジェクトを構築し、有効期限やパスなどのCookieプロパティをキャプチャするための標準化された方法を提供するASP.NetAPI 。
  • と呼ばれるASP.Netの実行ステップ機能ExecutionStepInvoker。これにより、開発者はASP.Netの事前定義されたパイプラインではなく、コード内で実行ステップを実行できます。この機能は、アプリケーションの実行フローに関係するライブラリを対象としています。