Silverlight 3.0 不再包含 asp:silverlight 控件

来源:互联网 发布:开淘宝网流程 编辑:程序博客网 时间:2024/05/29 08:42

转载地方:http://www.cnblogs.com/goody9807/archive/2010/02/25/1673304.html

从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件:

Could not load file or assembly 'System.Web.Silverlight' or one of its dependencies. The system cannot find the file specified.

未能加载文件或程序集“System.Web.Silverlight”或它的某一个依赖项

原因是 Silverlight 3 SDK 已经移除了 asp:silverlight 和 asp:mediaplayer,这两个控件包含在 System.Web.Silverlight.dll 这个 dll 中。

 

对于升级程序

最简单的方法是:安装 System.Web.Silverlight.dll  这个程序集。

一 是,可以同时安装 Silverlight 2 SDK,Silverlight 2 SDK 安装包中包含了这个 dll,位于 C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Libraries\Server 中,Silverlight 2 与Silverlight 3 可以并行运行(side-by-side)。

二是,也可以直接从 http://code.msdn.microsoft.com/aspnetprojects  获取这个 dll 与源码。

 

关于新程序

微软建议使用 html 标准标签 object (以及Silverlight.js)替代 asp:silverlight,简单如下

<object type="application/x-silverlight-2"          data="data:application/x-silverlight,"            width="450" height="220">      <param name="source" value="MySilverlightApplication.xap"/>  </object> 
注意,FireFox 对于 data 属性,需要包含一个额外的 , (逗号)结尾。
其他完整的属性以及参数可以参考 MSDN Silverlight 插件对象参考 
此外,下载文档 ASP.NET Server Controls for Silverlight in the Silverlight 3 SDK 详细介绍了如何在 Silverlight 3 中用 object 来初始化 silverlight 应用程序。
示例(见Silverlight 3 object tag param list (aka Where is my asp:Silverlight control?))
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  <param name="source" value="ClientBin/MyApplication.xap"/>  <param name="onError" value="onSilverlightError" />  <param name="background" value="white" />  <param name="minRuntimeVersion" value="3.0.40624.0" />  <param name="autoUpgrade" value="true" />  <param name="enableRedrawRegions" value="true" />            <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">      <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>  </a></object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
注意上面的代码中 iframe 是为了跨浏览器兼容性。iframe 防止 Safari 缓存该页。当用户退回访问过的页面,Safari 缓存会阻止 Silverlight 插件重新加载。iframe 必须紧接着 </object>。
 
参考Silverlight 3 object tag param list (aka Where is my asp:Silverlight control?) ASP.NET Controls in Silverlight 3 http://silverlight.net/learn/whitepapers/
0 0
原创粉丝点击