silverlight UI刷新报错

刚接触silverlight不久。前段时间遇到一个报错,浪费了不少时间。记录下来,希望对有相同遭遇的人有帮助。

我的开发环境:

1.win7

2.vs2010

3.silverlight5

4.prism

报的错是com的错误,详细信息是:

System.Exception
对 COM 组件的调用返回了错误 HRESULT E_FAIL。
在 MS.Internal.XcpImports.CheckHResult(UInt32 hr)
在 MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize)
在 System.Windows.FrameworkElement.MeasureOverride(Size availableSize)
在 System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)


Microsoft.Windows.Design.Platform.InvalidDesignerUpdateException
尝试在设计图面上呈现当前 silverlight 项目时遇到了未经处理的异常。若要诊断此失败,请尝试使用 silverlight 开发人员运行时在常规浏览器中运行项目。

遇到这个错误的时候我很是郁闷,因为以前是好好的,回到家里的笔记本电脑上也是好好的。想想唯一发生了变化的就是公司里的机子重装了操作系统(以前是win2003),确定问题是操作系统导致的,但是,从错误信息上看,com的错误感觉是很底层的东西啊,于是在想这个win7系统是ghost的,应该是缺少了些com组件吧,但是,我的代码时根本没用到com组件之类的操作,于是,怀疑是prism框架中用到了com,查阅了资料发现,好像说unity容器是第三方的,MEF才是托管的。也不管了,项目时间紧迫,于是,就花了一天时间,去学习MEF,把unity换成MEF。跑起来后,发生还是同样的错误,于是,我崩溃了。

越是绝望的时候,越是需要冷静。于是,我平静了心情,再慢慢地调试着我的错误,上网再查着类似相关的错误(虽然之前已经查过N遍都没找到答案),最后,在一个网页中找到了一丝的线索:字体。于是,从字体这个方向查到silverlight相关的错误,答案就很多了。解决方法参考:http://msdn.microsoft.com/zh-cn/ff686903.aspx

至此,终于知道了这个困扰了我多时的bug原来是由于新装的系统里的字体不完整导致的。于是,将字体导入,问题解决。没有选择嵌入字体是因为嵌入导致xap包比较大。

第一次写技术博客,希望对大家有帮助。

转载于:https://www.cnblogs.com/tongyongan/p/3460494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值