用于全球化的运行时配置选项
固定模式
- 确定 .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
}
}
}
项目文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
</Project>
纪元年份范围
|
设置名 |
值 |
runtimeconfig.json |
Switch.System.Globalization.EnforceJapaneseEraYearRanges |
false - 放宽的范围检查
true - 超出范围导致异常 |
环境变量 |
不可用 |
不可用 |
日语日期分析
- 确定是否成功分析包含“1”或“Gannen”作为年份的字符串,或是否仅支持“1”。
- 如果省略此设置,则成功分析包含“1”或“Gannen”作为年份的字符串。 它等效于将值设置为
false
。
- 有关详细信息,请参阅用多个纪元表示日历中的日期。
|
设置名 |
值 |
runtimeconfig.json |
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing |
false - 支持“Gannen”或“1”
true - 仅支持“1” |
环境变量 |
不可用 |
不可用 |
- 确定是将日本历时代的第一年的格式设置为“Gannen”还是设置为一个数字。
- 如果省略此设置,则第一年的格式设置为“Gannen”。 它等效于将值设置为
false
。
- 有关详细信息,请参阅用多个纪元表示日历中的日期。
|
设置名 |
值 |
runtimeconfig.json |
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
false - 将格式设置为“Gannen”
true - 将格式设置为数字 |
环境变量 |
不可用 |
不可用 |
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 全球化 API
true - 使用 NLS 全球化 API |
.NET 5 |
环境变量 |
DOTNET_SYSTEM_GLOBALIZATION_USENLS |
false - 使用 ICU 全球化 API
true - 使用 NLS 全球化 API |
.NET 5 |
预定义的区域性
|
设置名 |
值 |
已引入 |
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 |