XmlSerialiser在反序列化时导致崩溃(C#)

XmlSerialiser在反序列化时导致崩溃(C#),c#,xml-deserialization,gettype,C#,Xml Deserialization,Gettype,我正在调试一些接受xml文件@filename的代码,并尝试使用以下代码对其进行反序列化: System.Xml.XmlTextReader reader = new XmlTextReader(@fileName); map = new Map(); map = (Map)EuanThoms.Xml.XmlSerializer.Deserialize(reader, map.GetType()); reader.Close(); 但是,我的应用程序此时崩溃,出现以下错误: System.Nu

我正在调试一些接受xml文件
@filename
的代码,并尝试使用以下代码对其进行反序列化:

System.Xml.XmlTextReader reader = new XmlTextReader(@fileName);
map = new Map();
map = (Map)EuanThoms.Xml.XmlSerializer.Deserialize(reader, map.GetType());
reader.Close();
但是,我的应用程序此时崩溃,出现以下错误:

System.NullReferenceException: Object reference not set to an instance of an object.
at EuanThoms.Xml.XmlSerializer.DeserializeObject(XMLTextReader XMLRead, Type AsType)
at MyApp.MyClass..ctor(String filea, String file2)
at MyApp.MyClass.Main(String[] args)

这与
map.GetType()
返回NULL有关吗?我做错了什么?谢谢

你调试过吗?@Kamo我的问题是,应用程序只能通过打开一个相关文件来运行。如果我一打开文件,应用程序就崩溃了,我不知道如何将它附加到进程中。但是如果你知道它在哪里崩溃,你可以在它前面加一个断点。@Kamo我可以,但是如果我不能从VS运行应用程序,我怎么能达到那个断点?我只能通过打开一个文件来运行它,然后它崩溃了。那么,你从哪里获得这段源代码?你调试过吗?@Kamo我的问题是,应用程序只能通过打开一个相关文件来运行。如果我一打开文件,应用程序就崩溃了,我不知道如何将它附加到进程中。但是如果你知道它在哪里崩溃,你可以在它前面加一个断点。@Kamo我可以,但是如果我不能从VS运行应用程序,我怎么能达到那个断点?我只能通过打开一个文件来运行它,然后它崩溃了。那么你从哪里得到这个源代码呢?