共用方式為


全球化的執行時配置選項

不變模式

  • 判斷 .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>

時代年份範圍

設定名稱 價值觀
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 全球化 API
true - 使用 NLS 全球化 API
.NET 5
環境變數 DOTNET_SYSTEM_GLOBALIZATION_USENLS false - 使用 ICU 全球化 API
true - 使用 NLS 全球化 API
.NET 5

此組態設定沒有特定的 MSBuild 屬性。 不過,您可以改為新增 RuntimeHostConfigurationOption MSBuild 項目。 使用 runtimeconfig.json 設定名稱作為 Include 屬性的值。 如需範例,請參閱 MSBuild 屬性

預先定義的文化

設定名稱 價值觀 推出的版本
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