【问题标题】:The object already exists对象已经存在
【发布时间】:2015-02-16 12:03:44
【问题描述】:

我正在编写一个 Windows Phone 8.1 应用程序 (WINRT)。 有时我的主页崩溃,调试器甚至无法处理它。我尝试将 try-catch 应用于每一行,但没有帮助。

它有时会发生,但并非总是如此。

调试时直接进入App.g.i.cs:

    #if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
            UnhandledException += (sender, e) =>
            {
                if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
            };
#endif
        }

e: {System.Collections.ListDictionaryInternal} {System.Exception:对象已存在。 (来自 HRESULT 的异常:0x80071392)} Message = "对象已存在。\r\n"

是 XAML 问题吗?我检查了 XAML 的每一行,我没有发现任何问题。如何解决?

【问题讨论】:

  • 您是否尝试检查问题出现在哪里?应用构造函数、启动事件、页面构造函数、恢复、导航事件?信息量如此之少,没有任何代码,很难提供帮助。
  • 发件人是:{Merakyahoga.com.Merakyahoga_com_WindowsPhone_XamlTypeInfo.XamlTypeInfoProvider}
  • 我在 App.cs 的每个方法上都有一个断点,但没有用
  • 这主要发生在您在“持有者”/列表>之间移动控件或项目时,即“从 X 中删除面板并再次将其添加到 Y”,我们确实需要更多代码,是的,代码行捕获了所有“UnhandledExceptions”,这就是它在调试时跳转到那里的原因global::System.Diagnostics.Debugger.Break()
  • 您可以尝试的另一件事是检查 non-awaited async 方法中是否有将项目添加到 ListDictionary 的位置。有时 not awaiting 方法会吞下异常。

标签: c# xaml windows-runtime windows-phone windows-phone-8.1


【解决方案1】:

我逐行阅读了我的代码并得到了错误,我什至在启用 Pivot 之前就试图更改 Pivot.SelectedIndex。

非常感谢大家

【讨论】:

  • 嗨 Atif,我有完全相同的错误。您能解释一下“启用枢轴之前”是什么意思吗?这是例如:“如果(pivot.IsEnabled)pivot.SelectedIndex = 0;” ?就我而言,我的支点没有被禁用,所以我认为这不是根本原因
猜你喜欢
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 2011-02-14
  • 2011-09-11
  • 1970-01-01
  • 2019-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多