【问题标题】:COM exception while initialising managed Metro component in Windows 8在 Windows 8 中初始化托管 Metro 组件时出现 COM 异常
【发布时间】:2012-07-16 09:06:43
【问题描述】:

我正在开发一个复杂的 Metro C# / XAML 库,我发现 InitializeComponent 中偶尔会出现故障,我发现无法调试:

System.Exception:来自 HRESULT 的异常:0x880008AF 在 Windows.UI.Xaml.FrameworkElement.MeasureOverride(Size availableSize)

问题在于,这被 App 类中的未处理异常全部捕获,除了上面引用的文本之外,没有堆栈跟踪,也没有进一步的异常信息。

我已经关闭了托管的未处理异常 catch-all 并将 windbg 设置为崩溃进程的默认调试器,然后我可以看到非托管调用堆栈以及失败的确切位置,但我没有任何经验使用windbg,所以我无法深入了解失败发生的确切原因。

我还在 Visual Studio 2012 中设置了“中断所有异常”,但在托管代码中没有看到任何首次机会异常。

有没有人在 Win 8 中使用托管 Metro 应用程序时遇到过此类问题,并且能够超越一般错误消息?

谢谢

【问题讨论】:

    标签: xaml microsoft-metro


    【解决方案1】:

    它可能来自控件上的错误绑定。尝试删除它的所有绑定。它对我有用。

    【讨论】:

      【解决方案2】:

      确保您的自定义控件的默认样式键设置为自定义控件的类型。从另一个自定义控件复制和粘贴构造函数时,我犯了这个错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-13
        • 2014-10-15
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 2023-03-08
        相关资源
        最近更新 更多