適用於全球化的執行階段設定選項
非變異模式
- 判斷 .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 針對適用於 Windows 應用程式的 Unicode (ICU) 全球化 API,使用國家語言支援 (NLS) 或國際元件。 .NET 5 和更新版本預設會在 Windows 10 2019 年 5 月更新和更新版本上使用 ICU 全球化 API。
- 如果您省略此設定,則 .NET 預設會使用 ICU 全球化 API。 這相當於設定
false
值。 - 如需詳細資訊,請參閱全球化 API 在 Windows 上使用 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 |