Silverlight异常消息在其他计算机上不同

Silverlight异常消息在其他计算机上不同,silverlight,xaml,exception-handling,silverlight-5.0,xamlparseexception,Silverlight,Xaml,Exception Handling,Silverlight 5.0,Xamlparseexception,我目前正陷入以下问题,并拼命运行的想法,任何线索都欢迎 我们使用的是一个定制的框架,可根据需要加载我们称之为“页面”的UI,这些“页面”中的每一个都是一个自包含的Silverlight XAML,可通过以下方式按需加载: XamlReader.Load(somePageXamlFile) 此xaml中的某个部分可能已过时,因此try/catch块可确保捕获XAMLParseException并处理相应的错误 我们当前的错误处理在很大程度上基于异常消息,例如,我们希望出现如下消息: “找不到类型

我目前正陷入以下问题,并拼命运行的想法,任何线索都欢迎

我们使用的是一个定制的框架,可根据需要加载我们称之为“页面”的UI,这些“页面”中的每一个都是一个自包含的Silverlight XAML,可通过以下方式按需加载:

XamlReader.Load(somePageXamlFile)
此xaml中的某个部分可能已过时,因此try/catch块可确保捕获XAMLParseException并处理相应的错误

我们当前的错误处理在很大程度上基于异常消息,例如,我们希望出现如下消息:

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

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

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

“错误2502发生错误。”

这打破了我们在这个案件中的“安全网”逻辑,目前我们无法找出任何原因

解决方案或建议非常受欢迎, 提前谢谢


-Steve

经过长时间的艰苦搜索,我们得出以下结论:客户端和开发机器似乎有不同版本的Microsoft agcore.dll(开发机器在不同路径上有两个不同版本)。由于这是异常的核心,我们假设这是产生不同错误消息的原因-我们无法解决此问题(我们无法确定客户端在SL5下载期间获得的dll…),因此我们决定重写整个代码段,以完全不使用异常消息文本。吸取的教训


谢谢你的反馈-Steve

您是否可能收到带有消息
Error 2502的
targetingException
,出现错误。
如果是这样,您还应该处理此异常类型,并检查内部异常是否为
XamlParseException
类型。我怀疑机器使用的Silverlight客户端之间存在差异正在运行(版本或开发人员/非开发人员)@Jehof:异常的类型正好是
XamlParseException
,并且不包含内部异常,已对此进行了检查@RobJacobs:谢谢你的提示,我将在各自的系统上检查这些版本。Update@RobJacobs:我检查了已安装的Silverlight版本以及.Net Framework版本,它们是相同的(所有64位和相同的版本号),而且问题似乎与操作系统无关(在Win 7 SP1和Win 8上运行和失败相同)。。。