C#Visual Studio 2010 Express:
当我的应用程序启动时,甚至在显示我的GUI之前,我在对话框中收到以下错误:
致命问题:值不能为空。
参数名称:source
这似乎与应用程序中的某些用户设置有关。
我在StringCollection中从String更改了一个设置类型,但我不确定这是根本原因。 “来源”这个名字也不响铃。
问题是我无法破解应用程序来调试此错误。 单击“确定”后,应用程序将启动,但由于某种原因,设置全部为空。
感谢您的帮助
戴维
答案 0 :(得分:4)
解决此问题的最佳方法是使用调试器找出异常的来源。为此,请尝试以下
禁用我的代码
启用第一次机会除外
然后按F5开始调试您的应用程序。这应该可以让您非常了解错误发生的位置和原因。
答案 1 :(得分:0)
将设置设置为break on all exceptions,而不是仅显示未处理的设置。
执行将在抛出异常的位置停止,而不是在对话框中停止。
您不太可能处于代码中,但您可以查看堆栈跟踪以了解正在发生的事情。
答案 2 :(得分:0)
<强>解决强>:
我替换了以下代码,它从属性加载我的内部 SrcPathList :
*SrcPathList = new List(Properties.Settings.Default.SrcPathList.Cast()); // From StringCollection to List*
有了这个:
if (Properties.Settings.Default.SrcPathList != null) { SrcPathList = new List(Properties.Settings.Default.SrcPathList.Cast()); // From StringCollection to List } else { SrcPathList = new List(); }
这解决了因加载导致空值的空列表而引起的问题
谢谢大家的快速帮助!