.NET
Core和.NET Framework之间的CultureInfo似乎有一些区别。 这有什么原因吗?
例:
var italian = CultureInfo.GetCultureInfo("it").TextInfo.CultureName;
在 .NET Core 上解析为:
it
虽然它以前解析为在 .NET Framework 上:
it-IT
这会破坏一些单元测试。 在两个干净的控制台项目中运行它会产生不同的结果。 尝试从Nuget添加系统全球化,结果没有差异。
是否需要一些配置才能使其相同,或者他们是否破坏了文化信息altogheter?
我确认了这种行为,但Core更具决定性。
你要求文化"它",你得到文化"它"。
.NET Framework 正在添加更多详细信息,并为 it-IT 指定默认子区域性。
如果您要求
var italian = CultureInfo.GetCultureInfo("it-IT").TextInfo.CultureName;
径直。
您将在两个世界中得到相同的结果。
更改该字符串应该是测试的一个小问题。