【发布时间】:2012-05-10 02:50:01
【问题描述】:
在我的 Silverlight 5 应用程序中,我收到了一个没有有用堆栈跟踪的 ArgumentNullException。我只是看到:
System.ArgumentNullException occurred
Message=Value cannot be null.
Parameter name: key
StackTrace:
at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
at System.Windows.dll!MS.Internal.JoltHelper.FireEvent(System.IntPtr unmanagedObj, System.IntPtr unmanagedObjArgs, int argsTypeIndex, int actualArgsTypeIndex, string eventName, uint flags) + 0x31b bytes
尽我所能,我找不到任何未捕获的异常来捕获!我已经禁用了 Just My Code,我将调试器设置为 Break on Thrown 针对所有异常,并且我已经在我的代码中寻找可能发生这种情况的任何地方。我只是找不到任何方法来弄清楚它来自哪里。它必须是应用资源的后台 Silverlight 线程,或者以其他方式自动执行某些操作,但我不知道是什么。
具体方案是通过 XAML 或通过代码创建控件。通过 XAML,它们可以正常工作。当我通过代码创建它们时,我得到了这个神秘的异常。
救命!
【问题讨论】:
-
您的代码中是否调用了 Dictionary
.FindEntry? -
在我的任何代码中都没有直接调用 FindEntry。这就是为什么我想知道这是否是由 XAML 引擎在幕后完成的。
-
我唯一能想到的就是你订阅了一个带有 null 的事件......
-
我放弃并重组了一些东西。我没有真正理解如何摆脱错误。感谢人们的建议!
-
嗨,Arian,如果您能告诉我您所做的重组是什么,那将非常有帮助。即使我面临同样的问题,也不知道可能出了什么问题..这发生在为我打开新对话框时..
标签: c# silverlight xaml argumentnullexception