杯具的程序员,总是被这样的问题困扰:程序第一遍运行时运行到这一行代码就死机了——就于XML转换的问题。
抓狂的问题
我的程序要用到从XML反序列化成一个类的功能,用的就是系统自带的System.Xml.Serialization中的XmlSerializer。
一、症状
程序第一遍运行的时候,运行到
XmlSerializer serializer = new XmlSerializer(typeof(T));
这一行语句的时候就卡机。不论你等到多长时间,都不会往下运行了。但是,奇葩之一是,你只要按一个
Ctrl+ALT+DEL,程序就自动往下运行了。我总不能告诉用户,第一次运行出现死机的时候,你按一下
ctrl+alt+del组合键吧?
奇葩之二是,出现一次这样的症状之后,就没有这样的问题,再次调用此方法,非常顺畅。
奇葩之三是,一模一样的程序,以前从来没有出现过。难道是VS2008还有什么隐含的编译选项?
二、附源程序: