DateTime.Parse抛出带有Optimse Code编译器选项的异常

本文关键字:编译器 Code 选项 异常 Optimse Parse DateTime | 更新日期: 2023-09-27 18:11:05

在我的项目中有一行

DateTime alarmDateTime = DateTime.Parse(AlarmTimeStamp.Text);

AlarmTimeStamp。文本为"04/09/2015 10:23"(计算机的区域设置为English UK)

这抛出一个FormatException,但只有当优化代码编译器设置是在,即发布构建。如果我把它关闭,它会像预期的那样工作。

我不知道从哪里开始调试这个,因为调试器不能正确地工作与优化的代码。

如果它是相关的,这是来自ASP。.Net Web Forms应用程序,.Net 3.5托管在Windows Server 2008 R2, IIS 7.5。

编辑:
我做了一些测试,发现这只发生在我的一台服务器上。我配置了2台服务器,一个是开发服务器,一个是测试服务器。这个问题只发生在我的开发服务器上。不过它们之间没有什么区别。它们都是从同一个映像构建的

DateTime.Parse抛出带有Optimse Code编译器选项的异常

像这样修改你的代码…

    string timeString = AlarmTimeStamp.Text;
    IFormatProvider culture = new CultureInfo("en-GB", true);
    DateTime alarmDateTime = DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm", culture);