C# 为什么es MX日期格式从Windows 7更改为Windows 10?

C# 为什么es MX日期格式从Windows 7更改为Windows 10?,c#,localization,formatting,C#,Localization,Formatting,下面是一个单元测试: [TestMethod] public void Check_how_es_MX_displays_MMM() { var originalCulture = Thread.CurrentThread.CurrentCulture; try { Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX"); var result = new DateTim

下面是一个单元测试:

[TestMethod]
public void Check_how_es_MX_displays_MMM()
{
    var originalCulture = Thread.CurrentThread.CurrentCulture;
    try
    {
        Thread.CurrentThread.CurrentCulture = new CultureInfo("es-MX");
        var result = new DateTime(2015, 8, 6).ToString("MMM");
        Assert.AreEqual("ago", result);
    }
    finally
    {
        Thread.CurrentThread.CurrentCulture = originalCulture;
    }
}
当我在Windows7上运行它时,它通过了。当我在Windows 10计算机上运行此操作时,它会失败:

Assert.AreEqual failed. Expected:<ago>. Actual:<ago.>.

Assert.AreEqual失败。预期:这解决了(我认为)同样的问题。

从Windows 10开始,语言环境数据来自

更多信息:

MMM不生成3个字母的月份名称,而是生成缩写的月份名称。文化偏好确实会发生变化,甚至比软件开发更快。你需要更新你的测试。@HansPassant-是的,我意识到了。实际上,该测试只是一个示例,实际测试告诉我,当我们迁移到Windows 10时,使用此格式实现的功能将无法工作。我们的要求是3个字符的西班牙语缩写月(打印在标签的固定宽度字段上)。