SilverLight:”无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本”的解决方案。
这两天工作好闲的说,于是呼没事研究silverlight玩玩,看机子上有vs2010就方便多了,于是创建一个silverlight应用(灰常简单的说,与咱们的asp.net网站基本无差).但开心没过二分钟,发现页面出现如下文字”请更点击此处重新加载组件“……
修改弹出记录的显示,弹出如下错误:
silverlight应用程序中未处理的错误
代码:2104
类别:InitializeError
各种网络资料以后,发现原来是silverlight developer与silverlight sdk版本不一致。
于是都下载了4.0版本,进行安装。然无果,F5运行,报标题的错误。怎么回事怎么回事~~
然网络继续资料,查到如下文章:
————————————————————————————————————————————————————————————————————————
无法启动调试--未安装 Silverlight Developer 运行时。请安装一个匹配版本。
本机环境:Windows Server 2008R2
在网上搜索了一下,得到如下策略:
1。不调试,直接运行的烂方法: 对着SilverlightApplicationXXX.Web项目右键属性—》Web->去掉Silverlight的勾。 只能浏览不能F5调试。 2。是可能由于已经安装了silverlight 4的版本,4.0.50524.0,而不是开发版本。
2.1.控制面板--》添加删除程序: 删除Microsoft Silverlight,查看一下版本,是否是4.0.50524.0 2.2. 在删除之后, 解压缩Silverlight4_Tools.exe文件,把里面的silverlight_developer.exe(版本4.0.50401.0)安装一下,然后就可以进行调试了。
第一个方法倒是可以,不过不调试,开发的时候不太现实。按照第二个方法做了之后,却不行,调试时网页要求下载新版本的SilverLight,下载之后问题又出现了。找来找去,网上几乎全是这个解决办法。
找呀找,在博客园中看到了另外一篇不一样的文章,使用如下办法:
<param name="minRuntimeVersion" value="4.0.50826.0" />
即将网页中对SilverLight运行时要求的版本调整为比机器已经安装的更低版本。
试之,不妥。不管是将运行时版本调整为与本机安装版本一致或较低,还是出现同样的错误。
所幸,在搜索时,增加了本机SilverLight版本号”4.0.50826.0”,在博客园中找到Kevin Fan的一篇文章:,才知道是由于SilverLight升级引起的这个问题,并且
对于开发人员来说,不仅需要重新下载Silverlight客户端,而且需要更新Silverlight 4新版SDK,在其文章中,说到这次升级Visual Stuido tools没有更新,这里需要纠正,今天微软发布了新版的Silverlight Tools,以适应新版Silverlight 4的开发环境,请大家同时更新,防止项目版本升级时,开发环境出现异常。
并且,在文章里,给出了升级的详细说明和下载路径,分别为:
安装Silverlight 4.0.50826新版客户端 (适合终端用户)
安装Silverlight 4.0.60310.0新版客户端Windows版 (适合开发人员)
安装Silverlight 4.0.60831.0新版SDK (适合开发人员)
安装新版Silverlight 4 Tools (10.0.30319.400)(适合开发人员)
!!在此需要说明的是:Kevin Fan文章里给出的下载版本中注明的都是4.0.50826,和本机出问题的版本一样,即SilverLight和SDK的版本都是4.0.50826.0,无法调试。而Kevin Fan文章里给出的链接下载下来(时间2012.02.07)的分别是以上版本,而不是4.0.50826.0(适合终端用户的我没有下载,故没有验证其版本号)。估计是微软又更新了SilverLight4吧,不然全是这4.0.50826版本,还是无法调试。
问题算是解决了,开始SilverLight的学习了。
————————————————————————————————————————————————————————————————
声明,我的机器 是win7系统,当然问题也不是因为是4.0825熟么的情况,认真看完他的解释后,我去控制面板查了下silverlight的版本,原来,系统自动升级安装了一个silverlight5.0.而创建项目里,只能引用silverlight3.所以一时大意。把silverlight5删除后,问题解决。