Silverlight异常消息在其他计算机上不同
我目前正陷入以下问题,并拼命运行的想法,任何线索都欢迎 我们使用的是一个定制的框架,可根据需要加载我们称之为“页面”的UI,这些“页面”中的每一个都是一个自包含的Silverlight XAML,可通过以下方式按需加载: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并处理相应的错误 我们当前的错误处理在很大程度上基于异常消息,例如,我们希望出现如下消息: “找不到类型
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上运行和失败相同)。。。