.NET Framework 的新日本紀元更新摘要
本文介紹適用於 .NET Framework 的新日本紀元更新。
原始產品版本:.NET Framework 3.5 和更新版本
原始 KB 編號: 4477957
摘要
日本曆法的新紀元將於 2019 年 5 月 1 日開始。 Microsoft 正在準備這些變更,並計劃在每個每月匯總版本中提供更新。 這是自1989年1月起第一次從某個紀元轉換到另一個紀元,也是.NET Framework歷程記錄中的第一個。 本文旨在協助開發人員測試和驗證紀元在 .NET 應用程式中的運作方式、應用程式如何受到紀元變更的影響,以及身為開發人員的您必須執行的動作,以確保您的應用程式成功處理即將推出的日本紀元變更。
如需日文紀元變更之 Windows 更新的詳細資訊,請參閱 KB 4469068。
.NET Framework更新
下列版本包含 .NET Framework 的日本紀元更新。 它們也包含品質和可靠性改善。
- .NET Framework 2018 年 9 月質量匯總預覽
- .NET Framework 2018 年 11 月安全性和質量匯總
- .NET Framework 2018 年 12 月安全性和質量匯總
- .NET Framework 2019 年 3 月更新
- .NET Framework 2019 年 5 月安全性和質量匯總
注意事項
對於某些版本的 Windows,.NET Framework 更新會透過個別的 .NET Framework 特定累積更新來傳遞。 如需詳細資訊,請參閱宣佈 Windows 10 2018 年 10 月更新 .NET Framework的累積 匯報。
日文紀元更新 .NET Framework 版本的知識庫文章
下表所列的服務更新包含先前發行的更新中已包含之 .NET Framework 的所有日文紀元更新。 維護更新也包含新的品質更新,可移除單引號的相依性,以日文紀元格式輸出 Gannen 字元,讓"y年"自訂日期和時間格式字串的 或 "y'年'" 可讓 .NET Framework 將年數位 1 格式化為 元。 這些更新可在 Windows Update、Windows Server Update Service (WSUS) 和 Windows Update 目錄中取得。
Windows 10,版本 1507 | Windows 10 版本 1607 (年度更新) /Windows Server 2016 | Windows 10 版本 1703 (Creators Update) | Windows 10 版本 1709 (Fall Creators Update) | Windows 10 版本 1803 (2018 年 4 月更新) | Windows 10 版本 1809 (2018 年 10 月更新) /Windows Server 2019 |
---|---|---|---|---|---|
4489872 | 4489889 | 4489888 | 4489890 | 4489894 | 4489192 |
Microsoft 於 2019 年 5 月發行適用於 Windows 8.1 和舊版 Windows 的 .NET Framework 安全性和質量匯總,如下所示。 稍後發行到這些更新的所有安全性和品質匯總也會包含日文紀元更新。
.NET Framework | Windows Server 2008 | Windows 7 / Windows Server 2008 R2 | Windows Server 2012 | Windows 8.1 / Windows Server 2012 R2 |
---|---|---|---|---|
.NET Framework 3.5 | 4495604 | 4495606 | 4480061 | 4495608 |
.NET Framework 4.5.2 | 4495596 | 4495596 | 4495594 | 4495592 |
.NET Framework 4.6 或更新版本 | 4495588 | 4495588 | 4495582 | 4495585 |
注意事項
Microsoft 並未在 2019 年 3 月發行 Windows 8.1 和舊版 Windows 的 .NET Framework 安全性和質量匯總。 如果您想要針對包含 Windows 8.1 及舊版支援 Windows 之所有日文紀元更新的 .NET Framework 部署最新更新,請參閱僅限安全性更新客戶的變更一節。
僅限安全性更新客戶的變更
本節適用於依賴僅限安全性 (SO) 更新 Windows 8.1 及舊版支援 Windows 的客戶。
與上一節所列 Windows 10 的 .NET Framework 更新類似,下表所列的更新包含先前發行的更新中已包含之 .NET Framework 的所有日文紀元更新,以及新的品質更新,以移除使用單引號輸出 Gannen 字元的相依性使用日文紀元格式。
除了單引號問題的更新之外,這些更新不包含任何新的安全性更新或尚未包含在先前發行的更新中的新品質與可靠性改善。 因此,依賴僅限安全性 (SO) 更新和每月匯總 (MO 的使用者,Windows 8.1 和舊版 Windows 的) 更新,也可以為新的日本紀元選取這些更新。 這些更新只能透過 Windows Server Update Service (WSUS) 和 Windows Update 目錄取得。
.NET Framework | 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 |
重要事項
在 Windows 7 Service Pack 1 (SP1) 、Windows Server 2008 R2 Service Pack 1 (SP1) 或 Windows Server 2008 Service Pack 2 (SP2) 上安裝更新4488669之後,.NET 應用程式可能無法在您將 .NET Framework 從 4.5.2 版升級至 4.6 版或更新版本之後啟動。 Microsoft 正致力於解決此問題,並將在即將推出的版本中提供更新。 如需詳細資訊,請參閱 KB 4488669。
在 .NET Framework 上測試新的日本紀元
對於知識庫文章數據表中的所有 .NET Framework 版本,以及在 Windows 上執行的 .NET Core,行事曆紀元資訊是由 Windows 操作系統提供,並在您套用 .NET Framework 的更新時從系統登錄擷取。 為了讓您更輕鬆地準備日本紀元變更,您可以控制何時將佔位元元登錄專案新增至系統,並選擇符合您需求的時間。 目前,下列系統支援 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 時,您可以還原嚴格的紀元檢查。紀元的第一年
此測試案例是確認甘nen (元年) 格式化作業慣例,作為新日本曆年的第一年。
根據預設,.NET 會在格式化作業中採用 Gannen (元年) 慣例。 您可以還原先前的行為。 該行為一律會將年份表示為 “1”,而不是甘nen (元年) 。 若要這樣做,請將下列值設定為 true:
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber
日本紀元支援的功能
更新數據源
日本紀元資訊原本會在 .NET Framework 3.5 和舊版 .NET Framework 中維護為硬式編碼數據,但與 .NET Framework 4.0 和更新版本類似,其日本紀元的來源已從私人硬式編碼數據變更為登錄路徑下的
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras
登錄機碼。 Windows 的更新會在宣佈新紀元名稱之後新增登錄機碼。Range-Range
當 Heisei (平成) Era 於 2019 年 4 月 30 日結束,也就是 Heisei () 平成 31,而新紀元從 2019 年 5 月 1 日開始,::no-loc text=“”平 31 年 5 月 1 日“::: 會變成無效。 我們已放寬剖析器,以允許在 .NET 應用程式中 (公曆和日文日期) 的未來或過去日期,轉換成相關的日本紀元日期,而不會擲回例外狀況,例如
ArgumentOutOfRangeException
和System.FormatException
。 一旦宣佈新的日本紀元名稱,您也可以將 Heisei 中的未來日期轉換成新的日本紀元。 它可以在 .NET Framework 中停用。 將的Switch.System.Globalization.EnforceJapaneseEraYearRanges
值設定為 true。日本紀元第一 元年 年的甘南 ()
在歷史實務中,在紀元的第一年,會使用特殊字元 「Gan (元) 」 其漢字字元表示「 origin」 或 「beginning」 ,以取代數位 「Fect (1) 」。 第一年「甘南 (元年) 」會持續到公曆年 12 月 31 日的結束日期。 .NET Framework 在紀元的第一年同時支援 “Gannen (元年) ” 和 “Ichinen (1 年) ”。 針對所有版本的 .NET Framework,Gannen 預設為 ON。 您可以藉由將 的
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber
值設定為 true 來停用它。
先前發行的更新
客戶只需要依日文紀元更新的 .NET Framework 版或 Windows Update、Windows Server Update Service (WSUS) 或 Windows Update Catalog 的版本,安裝上述知識庫文章中所列的最新更新。
.NET Framework | 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 (年度更新) /Windows Server 2016 | Windows 10 1703 (Creators Update) | Windows 10 1709 (Fall Creators Update) | Windows 10 1803 (2018 年 4 月更新) | Windows 10 1809 (2018 年 10 月更新) | 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 |
其他資源
- 在 .NET 中處理日本曆法的新紀元 - .NET 部落格
- 使用登錄在 Windows 上測試新日本紀元 - 2018 年 8 月部落格
- Gannen 與 Ichinen - 2018 年 11 月部落格
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應