不變模式
- 判斷 .NET Core 應用程式是否在未取得特定文化資料與行為的情況下,以全球化不變模式運行。
- 如果你省略這個設定,應用程式會以文化資料的存取方式運作。 這相當於設定
false值。 - 欲了解更多資訊,請參閱 .NET Core 全球化不變模式。
| 設定名稱 | 價值觀 | |
|---|---|---|
| runtimeconfig.json | System.Globalization.Invariant |
false - 取得文化資料true - 以不變模式運行 |
| MSBuild 屬性 | InvariantGlobalization |
false - 取得文化資料true - 以不變模式運行 |
| 環境變數 | DOTNET_SYSTEM_GLOBALIZATION_INVARIANT |
0 - 取得文化資料1 - 以不變模式運行 |
範例
runtimeconfig.json 檔案:
{
"runtimeOptions": {
"configProperties": {
"System.Globalization.Invariant": true
}
}
}
runtimeconfig.template.json 檔案:
{
"configProperties": {
"System.Globalization.Invariant": true
}
}
專案檔:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
</Project>
時代年份範圍
- 判斷支援多個時代的日曆範圍檢查是否放寬,或超出某時代日期範圍的日期是否會產生 ArgumentOutOfRangeException。
- 如果你省略了這個設定,距離檢查就會變得寬鬆。 這相當於設定
false值。 - 欲了解更多資訊,請參閱 日曆、時代與日期範圍:放鬆範圍檢查。
| 設定名稱 | 價值觀 | |
|---|---|---|
| runtimeconfig.json | Switch.System.Globalization.EnforceJapaneseEraYearRanges |
false - 放寬範圍檢查true - 溢位會導致例外 |
| 環境變數 | N/A | N/A |
此組態設定沒有特定的 MSBuild 屬性。 不過,您可以改為新增 RuntimeHostConfigurationOption MSBuild 項目。 使用 runtimeconfig.json 設定名稱作為 Include 屬性的值。 如需範例,請參閱 MSBuild 屬性。
日文日期解析
- 判斷字串中包含「1」或「Gannen」作為年份解析成功,或僅支援「1」。
- 若省略此設定,年份為「1」或「Gannen」的字串則能成功解析。 這相當於設定
false值。 - 欲了解更多資訊,請參閱 「以多時代表示日期」的曆法。
| 設定名稱 | 價值觀 | |
|---|---|---|
| runtimeconfig.json | Switch.System.Globalization.EnforceLegacyJapaneseDateParsing |
false - 支持「Gannen」或「1」true - 僅支援「1」 |
| 環境變數 | N/A | N/A |
此組態設定沒有特定的 MSBuild 屬性。 不過,您可以改為新增 RuntimeHostConfigurationOption MSBuild 項目。 使用 runtimeconfig.json 設定名稱作為 Include 屬性的值。 如需範例,請參閱 MSBuild 屬性。
日本年度格式
- 決定日本曆元年的格式為「Gannen」還是數字。
- 若省略此設定,第一年格式為「Gannen」。 這相當於設定
false值。 - 欲了解更多資訊,請參閱 「以多時代表示日期」的曆法。
| 設定名稱 | 價值觀 | |
|---|---|---|
| runtimeconfig.json | Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
false - 格式為「Gannen」true - 編號格式 |
| 環境變數 | N/A | N/A |
此組態設定沒有特定的 MSBuild 屬性。 不過,您可以改為新增 RuntimeHostConfigurationOption MSBuild 項目。 使用 runtimeconfig.json 設定名稱作為 Include 屬性的值。 如需範例,請參閱 MSBuild 屬性。
NLS
- 決定 .NET 是否使用國家語言支援(NLS)或國際 Unicode 組件(ICU)全球化 API 給 Windows 應用程式。 .NET 5 及更新版本在 Windows 10 2019 年 5 月更新及更新版本中預設使用 ICU 全球化 API。
- 如果你省略這個設定,.NET 預設會使用 ICU 全球化 API。 這相當於設定
false值。 - 更多資訊請參閱 Windows 上的全球化 API 使用 ICU 函式庫。
| 設定名稱 | 價值觀 | 推出的版本 | |
|---|---|---|---|
| runtimeconfig.json | System.Globalization.UseNls |
false - 使用 ICU 全球化 APItrue - 使用 NLS 全球化 API |
.NET 5 |
| 環境變數 | DOTNET_SYSTEM_GLOBALIZATION_USENLS |
false - 使用 ICU 全球化 APItrue - 使用 NLS 全球化 API |
.NET 5 |
此組態設定沒有特定的 MSBuild 屬性。 不過,您可以改為新增 RuntimeHostConfigurationOption MSBuild 項目。 使用 runtimeconfig.json 設定名稱作為 Include 屬性的值。 如需範例,請參閱 MSBuild 屬性。
預先定義的文化
- 設定應用程式在啟用 全球化不變模式 時,是否能創造除不變文化以外的文化。
- 若省略此設定,.NET 將限制全球化不變模式下的文化創建。 這相當於設定
true值。 - 如需詳細資訊,請參閱全球化非變異模式中的文化特性建立和案例對應。
| 設定名稱 | 價值觀 | 推出的版本 | |
|---|---|---|---|
| runtimeconfig.json | System.Globalization.PredefinedCulturesOnly |
true - 在全球化不變模式下,不允許創造除不變文化以外的任何文化。false - 允許創造任何文化。 |
.NET 6 |
| MSBuild 屬性 | PredefinedCulturesOnly |
true - 在全球化不變模式下,不允許創造除不變文化以外的任何文化。false - 允許創造任何文化。 |
.NET 6 |
| 環境變數 | DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY |
true - 在全球化不變模式下,不允許創造除不變文化以外的任何文化。false - 允許創造任何文化。 |
.NET 6 |