固定模式
- 确定 .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 属性。 但是,可以转而添加 MSBuild 项 RuntimeHostConfigurationOption。 将 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 属性。 但是,可以转而添加 MSBuild 项 RuntimeHostConfigurationOption。 将 runtimeconfig.json 设置名称用作 特性的值。Include 如需示例,请参阅 MSBuild 属性。
日语年份格式
- 确定日本日历时代的第一年是格式化为“甘宁”还是数字。
- 如果省略此设置,则第一年的格式为“Gannen”。 它等效于将值设置为
false。 - 有关详细信息,请参阅 在具有多个纪元的日历中表示日期。
| 设置名称 | 价值观 | |
|---|---|---|
| runtimeconfig.json | Switch.System.Globalization.FormatJapaneseFirstYearAsANumber |
false - 格式为“甘宁”true - 格式为数字 |
| 环境变量 | N/A | N/A |
此配置设置没有特定的 MSBuild 属性。 但是,可以转而添加 MSBuild 项 RuntimeHostConfigurationOption。 将 runtimeconfig.json 设置名称用作 特性的值。Include 如需示例,请参阅 MSBuild 属性。
NLS
- 确定 .NET 是针对 Windows 应用使用国家语言支持(NLS)还是 Unicode(ICU) 全球化 API 的国际组件。 默认情况下,.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 属性。 但是,可以转而添加 MSBuild 项 RuntimeHostConfigurationOption。 将 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 |