致命执行引擎使用 IValueConverter 时初始化组件错误
本文关键字:初始化 组件 错误 IValueConverter 执行 引擎 | 更新日期: 2023-09-27 18:33:34
我在列表框中有一个项目列表。当所选项发生更改时,将显示其详细信息:我将Grid
的DataContext
设置为该对象,并插入显示详细信息的特定 UserTControl。我正在对这些用户控件的初始化组件()进行FatalExecutionEngineError
。
The runtime has encountered a fatal error. The address of the error was at 0x6d8c104e, on thread 0xcf4. The error code is 0xc0000005. This error may be a bug in the CLR or in the unsafe or non-verifiable portions of user code. Common sources of this bug include user marshaling errors for COM-interop or PInvoke, which may corrupt the stack.
当我删除使用值转换的绑定时,错误消失了。某些转换器似乎不会导致异常...此外,仅当我为要显示的每个项目创建用户控件的新实例时,才会显示错误,而在重用在应用程序启动时创建的相同用户控件时不会显示错误。IValueConverter是否有任何已知问题?如果是这样,我不应该在我的应用程序中使用它们吗?我在哪里可以找到消费者预览版的错误列表,这样我就不会浪费时间试图找到将在更高版本中修复的错误解决方法?
没有错误列表,但正如您在此处和Microsoft论坛上看到的那样,这已经给许多人带来了数小时甚至数天的挫败感。 避免使用自定义转换器,直到我们在 6 月发布新版本。 即使您认为自己有一个有效的转换器,您也可能没有,并且您的应用程序仍然会在看似随机的时间崩溃。 很糟糕,但我想这就是测试版的目的。
一种可能的方法似乎使这些对我来说更稳定,那就是将转换器资源()和使用它的东西(例如DataTemplate)从中央应用程序范围的ResourceDictionary移动到单个页面的资源部分。
将属性中的处理器从 86x 更改为 64x
我把我所有的资源都放在了一个共同的项目中。这就是导致我出现问题的原因。我将资源复制到每个单独的项目中,并解决了问题。
非常感谢这个答案。我已经花了 6 个小时在这上面,直到我偶然发现了这篇文章.!!呼。