1

我目前陷入以下问题并且拼命想出主意,欢迎提供任何线索!

我们正在使用一个自定义构建的框架来按需加载我们称之为 UI 的“页面”,这些“页面”中的每一个都是一个自包含的 Silverlight XAML,通过以下方式按需加载:

XamlReader.Load(somePageXamlFile)

可能会发生此 xaml 中的某个部分已过时,因此 try / catch 块可确保捕获 XAMLParseException 并处理相应的错误。

我们当前的错误处理很大程度上基于异常的消息,例如,我们期望这样的消息:

“找不到类型‘someType’。[行:x 位置:y]”

-> 我们解析消息字符串并用自定义逻辑替换基本的 xaml 部分,使其再次有效并为管理员显示信息。

问题:一些测试机器抛出相同的异常,但消息不同!那里的错误信息:

“错误 2502 发生错误。”

这打破了我们对这种情况的“安全网”逻辑,目前我们无法找出任何原因。

非常欢迎解决方案或建议,在此先感谢!

-史蒂夫

4

1 回答 1

0

经过漫长而艰苦的搜索,我们得出以下结论:客户端和开发机器似乎有不同版本的Microsoft agcore.dll(开发机器在不同的路径中有2个不同的版本)。由于这是异常的核心,我们认为这是不同错误消息的原因 - 但是我们无法解决此问题(我们无法确定我们的客户在 SL5 下载期间获得了什么 dll...)因此我们决定重写整个代码段根本不使用异常消息文本。学过的知识。

感谢您的反馈。-史蒂夫

于 2014-03-26T15:42:46.970 回答