DateTime.Parse 无法在 Windows Server 2012 上运行
DateTime.Parse not working on Windows Server 2012
我有一个古老而沉重的 windows 应用程序,其中 DateTime.TryParse(string value, out result) 被广泛使用。
下面的代码在 Windows 7 和 Windows 10 上运行顺利。
// 下面是应用启动时完成的
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-AU");
var success = DateTime.TryParse("20 02", out result);
// 以上只是我们一直使用它的方式之一的例子。这里成功是真的,结果是 -> 20/02/2020 12:00:00 AM
但在 Windows Server 2012 R2 Standard 上执行时,上述语句 returns 为假。
看起来像 Win Server 2012 已经打破了
DateTime.TryParse。有趣的是,如果我使用 .netFramework 3.5
,那么它适用于所有 OS。但我们使用的是框架 v4.6.2 (VS-2019)。
这是 Microsoft OS 或 .netFramework 4.6 中的错误吗?是否有任何现有的解决方法而不对代码进行任何更改,可能是 .net 框架补丁等。老实说,我很难对与此相关的代码进行任何更改,因为它的使用量超过 1.5k申请。
提前致谢!!!
也许不是答案,但你能在你的 Windows Server 2012 R2 上试试这个吗?
foreach (var ci in CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures).OrderBy(ci => ci.Name))
{
Console.WriteLine("{0} ({1})", ci.Name, ci.EnglishName);
}
你的文化在那个列表中吗?
我有一个古老而沉重的 windows 应用程序,其中 DateTime.TryParse(string value, out result) 被广泛使用。
下面的代码在 Windows 7 和 Windows 10 上运行顺利。
// 下面是应用启动时完成的
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-AU");
var success = DateTime.TryParse("20 02", out result);
// 以上只是我们一直使用它的方式之一的例子。这里成功是真的,结果是 -> 20/02/2020 12:00:00 AM
但在 Windows Server 2012 R2 Standard 上执行时,上述语句 returns 为假。
看起来像 Win Server 2012 已经打破了
DateTime.TryParse。有趣的是,如果我使用 .netFramework 3.5
,那么它适用于所有 OS。但我们使用的是框架 v4.6.2 (VS-2019)。
这是 Microsoft OS 或 .netFramework 4.6 中的错误吗?是否有任何现有的解决方法而不对代码进行任何更改,可能是 .net 框架补丁等。老实说,我很难对与此相关的代码进行任何更改,因为它的使用量超过 1.5k申请。
提前致谢!!!
也许不是答案,但你能在你的 Windows Server 2012 R2 上试试这个吗?
foreach (var ci in CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures).OrderBy(ci => ci.Name))
{
Console.WriteLine("{0} ({1})", ci.Name, ci.EnglishName);
}
你的文化在那个列表中吗?