我正在尝试从Application.Current.Properties存储中获取一些数据。不幸的是,无论何时我想使用这个词典,我都会看到这个错误:
mscorlib.ni.dll中出现'System.AggregateException'类型的异常,但未在用户代码中处理
其他信息:发生了一个或多个错误。
详细情况我发现了这个:
{“第1行位置206的错误。元素'http://schemas.microsoft.com/2003/10/Serialization/Arrays:Value'包含'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfstring'数据合同的数据。反序列化器不知道映射到此合同的任何类型。添加将“ArrayOfstring”对应的类型添加到已知类型列表中 - 例如,使用KnownTypeAttribute属性或将其添加到传递给DataContractSerializer的已知类型列表中。“}
好像我试图将一些非字符串数据保存到Application.Current.Properties。不幸的是我无法运行.Clear()方法来设置所有数据,因为我在尝试访问此属性时会收到此错误。
我该怎么做才能让它发挥作用?
答案 0 :(得分:0)
好吧,顾名思义就是AggregateException,它只是一个容器,用于在使用PLINQ或TPL时可能抛出的一个或多个异常。
由于此类异常可能会抛出在不同的线程上并且也可能同时发生,因此系统会自动捕获并重新抛出它们在AggregateException包装器中,以确保它们都在一个地方报告。异常本身通过InnerExceptions属性公开。
您可以捕获AggregateException并使用以下代码检查它实际包含的异常:
try
{
// perform some parallel operation
}
catch (AggregateException aex)
{
string messages = "";
foreach(Exception ex in aex.InnerExceptions)
{
messages += ex.Message + "\r\n";
}
MessageBox.Show(messages);
}
所以我建议你这样做以查看导致问题的原因
答案 1 :(得分:0)
请从设备中删除您的应用,设置 - 应用 - 卸载,这对我有用。 Auth对象在调试模式下崩溃。清理和重建可以是有用的。