.NET Framework 用の日本の新元号対応更新プログラムの概要

適用対象: .NET Framework

この資料は、以下の製品に適用されます。

  • Microsoft .NET Framework 3.5 以降のバージョン

日本の新元号対応更新プログラムの概要


2019 年 5 月 1 日から日本の新しい元号が始まります。マイクロソフトは、この変更の準備を進めており、マンスリー ロールアップ リリースで更新プログラムを発行する予定です。これは 1989 年 1 月以来の元号変更であり、.NET Framework 史上初でもあります。 このマイクロソフト サポート技術情報の目的は、.NET アプリケーション内で元号がどのように機能しているか、元号の変更によってアプリケーションにどのような影響が及ぶか、そして今後の日本の元号変更をアプリケーションで適切に処理するために開発者が何を実行すべきかについて、開発者がテストおよび検証できるようにすることです。

日本の元号変更に対応する Windows 更新プログラムの詳細については、サポート技術情報 4469068 を参照してください。

.NET Framework の更新プログラム


次のリリースには、.NET Framework 用の日本の元号対応更新プログラムが含まれています。また、品質と信頼性の強化も含まれています。

注: 一部のバージョンの Windows では、.NET Framework の更新プログラムが別の .NET Framework 固有の累積的な更新プログラムを介して配信されます。詳細については、次の .NET のブログ記事を参照してください。

日本の元号対応更新プログラムに関する .NET Framework のバージョン別のサポート技術情報

次の表に記載されている提供中の更新プログラムには、以前にリリースされた更新プログラムに既に含まれていた .NET Framework のすべての日本の元号対応更新プログラムが含まれています。  また、日本の元号の書式で元年の文字を出力するにはシングル クォーテーションを付ける必要があった問題を解決する新しい品質更新プログラムも含まれています。そのため、.NET Framework でカスタムの日付と時刻の書式に “y” または “y’'” のいずれを使用しても、年の数値 1 をという書式で示すことができるようになりました。これらの更新プログラムは、Windows Update、Windows Server Update Service (WSUS)、および Windows Update カタログで入手できます。 

Windows 10, version 1507 Windows 10, version 1607 (Anniversary Update) / Windows Server 2016 Windows 10, version 1703 (Creators Update) Windows 10, version 1709 (Fall Creators Update) Windows 10, version 1803 (April 2018 Update) Windows 10, version 1809 (October 2018 Update) / Windows Server 2019
4489872 4489889 4489888 4489890 4489894 4489192

注: マイクロソフトは、Windows 8.1 以前のバージョンのサポートされる Windows 用に .NET Framework のセキュリティおよび品質ロールアップを 2019 年 3 月にリリースしませんでした。すべての日本の元号対応更新プログラムを含む、Windows 8.1 以前のバージョンのサポートされている Windows 用の .NET Framework の最新の更新プログラムを展開する場合は、「セキュリティのみの更新プログラムを適用されているお客様向けの変更点」を参照してください。

セキュリティのみの更新プログラムを適用されているお客様向けの変更点


このセクションは、Windows 8.1 以前のバージョンのサポートされる Windows 用のセキュリティのみ (SO) の更新プログラムを利用しているお客様に向けたものです。

前のセクションに記載されている Windows 10 用の .NET Framework の更新プログラムと同様に、次の表に記載されている更新プログラムには、以前にリリースされた更新プログラムに既に含まれていた .NET Framework のすべての日本の元号対応更新プログラムが含まれています。また、日本の元号の書式で元年の文字を出力するにはシングル クォーテーションを付ける必要があった問題を解決する新しい品質更新プログラムも含まれています。 シングル クォーテーションの問題に対応する更新プログラムを除き、以前にリリースされた更新プログラムには含まれていなかった新しいセキュリティ更新プログラムや新しい品質と信頼性の強化は含まれていません。そのため、Windows 8.1 以前のバージョンのサポートされる Windows 用のセキュリティのみ (SO) の更新プログラムとマンスリー ロールアップ (MO) 更新プログラムを利用している場合は、日本の新元号に対応するためにこれらの更新プログラムを選択することもできます。これらの更新プログラムは、Windows Server Update Service (WSUS) と Windows Update カタログのみで入手できます。

 

Windows Server 2008

Windows 7 / Windows Server 2008 R2

Windows Server 2012

Windows 8.1 / Windows Server 2012 R2

.NET Framework 3.5

4488661

4488662

4488660

4488663

.NET Framework 4.5.2

4488669

4488669

4488668

4488667

.NET Framework 4.6 以降

4488666

4488666

4488664

4488665

.NET Framework に対して日本の新元号をテストする方法


サポート技術情報の表に記載されている .NET Framework のすべてのバージョンと、Windows 上で実行されている .NET Core の場合、.NET Framework 用の更新プログラムを適用すると、Windows オペレーティング システムによって元号の情報が提供され、システム レジストリから取得されます。 新元号への変更準備をスムーズに行えるよう、プレースホルダー レジストリ エントリをシステムに追加する際に、お客様のニーズに合ったタイミングを選択して制御できます。  現在、Windows オペレーティング システム用のプレースホルダー レジストリは次のシステムでサポートされています。

  • Windows クライアント: Windows 7 SP1 以降
  • Windows Server: Windows Server 2008 R2 SP1 以降


注:Windows Server 2008 SP2 および Windows Embedded & IoT、Windows Embedded Compact 7 以降のバージョン、Windows Embedded Standard/POSReady 7 以降のバージョン、および Windows 10 IoT 用に、追加の日本の新元号対応更新プログラムを提供する予定です。 

元号名と元号の短縮名がわかり次第、Windows の更新プログラムで新しい元号値がレジストリに追加される予定です。 Windows 上の .NET では、この更新プログラムが自動的に反映される予定です。

対応が推奨されるテスト シナリオ


  • リラックス元号範囲チェック

このテスト シナリオでは、新元号への移行が将来の日付に設定されている場合に、LOB アプリケーションが機能することを確認します。

ある元号の日付が次の元号に “あふれる” 可能性がありますが、既定で ArgumentOutOfRangeException または FormatException はスローされません。Switch.System.Globalization.EnforceJapaneseEraYearRanges を true に設定すると、厳密な元号チェックを復元できます。

  • 元年

このテスト シナリオでは、日本の新元号の 1 年目として "元年" と表記する書式設定操作を確認します。

.NET の既定の書式設定操作では、"元年" の表記が採用されています。以前の動作に戻すことができます。以前の動作では、年を表すときに "元年" ではなく “1” と常に表記されます。この動作に戻すには、Switch.System.Globalization.FormatJapaneseFirstYearAsANumbertrue に設定します。   

日本の元号がサポートされる機能


データ ソースの更新

日本の元号情報は、.NET Framework 3.5 以前のバージョンの .NET Framework ではもともとハードコーディングされたデータとして保持されていましたが、.NET Framework 4.0 以降と同様に、日本の元号のソースは、以前のハードコーディングされたデータから [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras] レジストリ パスのレジストリ キーに変更されました。Windows 用の更新プログラムでは、元号が発表された後に新しい元号に対応するレジストリ キーが追加される予定です。

範囲の緩和

平成 31 年である 2019 年 4 月 30 日に平成が終わり、2019 年 5 月 1 日に新元号が始まると、“平成 31 5 1 ” は無効になります。ArgumentOutOfRangeException や System.FormatException などの例外をスローせずに、.NET アプリケーションの未来/過去の日付 (グレゴリオ暦と和暦の日付の両方) を対応する日本の元号に変換できるように、パーサーを緩和しました。また、新しい元号が発表された後は、平成の未来の日付を新元号に変換できるようになる予定です。この機能は .NET Framework で無効にすることができます。Switch.System.Globalization.EnforceJapaneseEraYearRanges を true に設定してください。

日本の元号の 1 年目を表す元年

歴史的な慣例として、元号の 1 年目には、“初め” または “始まり” を意味する漢字である “” が数字の “1” の代わりに使用されます。1 年目の “元年” は、グレゴリオ暦年の最終日である 12 月 31 日まで続きます。.NET Framework は、元号の 1 年目として “元年” と “1 ” の両方をサポートします。.NET Framework のすべてのバージョンで、元年は既定で有効です。無効にするには、Switch.System.Globalization.FormatJapaneseFirstYearAsANumber を true に設定します。

以前にリリースされた更新プログラム


インストールする必要があるのは、前述の「日本の元号対応更新プログラムに関する .NET Framework のバージョン別のサポート技術情報」セクションに記載されている最新の更新プログラム、または Windows Update、Windows Server Update Service (WSUS)、または Windows Update Catalog の更新プログラムのみです。

 

Windows Server 2008

Windows 7 / Windows Server 2008 R2

Windows Server 2012

Windows 8.1 / Windows Server 2012 R2

Windows 10 1507

Windows 10 1607 (Anniversary Update) /

Windows Server 2016

Windows 10 1703 (Creators Update)

Windows 10 1709 (Fall Creators Update)

Windows 10 1803 (April 2018 Update)

Windows 10 1809 (October 2018 Update)

Windows Server 2019


データ ソースの更新

.NET Framework 3.5

4457007

4457008

4457006

4457009

4471323

4457127

4457141

4457136

4458469

不要

不要

.NET Framework 4.5.2

不要

不要

不要

不要

対象外

対象外

対象外

対象外

対象外

対象外

対象外

.NET Framework 4.6 以降

不要

不要

不要

不要

不要

不要

不要

不要

不要

不要

不要


リラックス元号範囲チェック

.NET Framework 3.5

4457007

4457008

4457006

4457009

4471323

4457127

4457141

4457136

4458469

不要

不要

.NET Framework 4.5.2

4457019

4457019

4457018

4457017

対象外

対象外

対象外

対象外

対象外

対象外

対象外

.NET Framework 4.6 以降

4457016

4457016

4457014

4457015

4467680

4457127

4457141

4457136

4458469

対象外

対象外


元年

.NET Framework 3.5

4459933

4459934

4459932

4459935

4471323

4467691

4467696

4467686

4467702

4470502

4470502

.NET Framework 4.5.2

4459945

4459945

4459944

4459943

対象外

対象外

対象外

対象外

対象外

対象外

対象外

.NET Framework 4.6 以降

4459942

4459942

4459940

4459941

4467680

4467691

4467696

4467686

4467702

4470502

4470502

補足資料