注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

水木的博客

唱好人生中的每一场戏

 
 
 

日志

 
 

Silverlight Reduce XAP size by using application library caching 应用, 分包下载  

2011-12-05 12:15:04|  分类: silverlight |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最早使用 IsolatedStorageFile 类缓存 Silverlight 程序. 以便下次打开速度变快.  某天偶尔发现 VS 的 SL 项目属性中. 有此选项.

image , 于是上网找找资料. 做了个例子试试. 结果很明显. 400多k 的 xap 文件 被分离成多个. 最后的 xap 文件只有14k 大小.

 

特将此 demo 的制作过程记录下来, 以备查阅.

 

1. 项目结构如下:

 image

2. 首先编译. 查看生成的 Xap 文件大小. image  452KB.

3. 打开 PEMS.Sl.UI  SL 项目的属性页面. 将image 选中.

4. 编译解决方案. 查看新的结果.

image

生成后. Navigation. Controls. Linq 三个动态链接库被单独打包为 zip格式. 存放与 ClientBin 下. 这样. 客户端在使用到的时候. SL 会为你自动下载.

由于我的 PEMS.Sl.UI 项目使用到了 PEMS.Sl.Controls 与 PEMS.Common.Model 项目. 我也需要让这两个项目变得与 Navigation. Controls. Linq 它们相同. 下面详细说明.

改造 PEMS.Sl.Controls 与 PEMS.Common.Model 项目.

1. 将 PEMS.Sl.Controls 与 PEMS.Common.Model 它们生成为强类型动态链接库.


1. 使用 VS 工具 sn 产生key.(打开SDK Command Prompt或者VS2005中的Visual Studio 2005 Command Prompt.而不是windows的cmd)

sn –k key.snk

sn –p key.snk key.public.snk

(sn –t key.public.snk  查看到的 public token 记下. 稍后有重要作用)


2. 在 PEMS.Sl.Controls 项目属性中产生一个key.

image

3. 在 AssemblyInfo.cs 文件中添加 [assembly: AssemblyKeyFile("key.public.snl")]
image 

 

4. 在项目中创建一个 AssemblyName.extmap.xml 文件. 我这里叫做 PEMS.Sl.Controls.extmap.xml

此文件内容为:

 


1 <?xml version="1.0"?>
2 <manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3           xmlns:xsd="http://www.w3.org/2001/XMLSchema">
4   <assembly>
5     <name>PEMS.Sl.Controls</name>
6     <version>1.0.0.0</version>
7     <publickeytoken>55a4a48c2765ae41</publickeytoken>
8     <relpath>PEMS.Sl.Controls.dll</relpath>
9     <extension downloadUri="PEMS.Sl.Controls.zip" />
10   </assembly>
11 
12 </manifest>

在你的项目中替换相关的值就可以了. 更改此 XML 文件的属性. 更改为总是拷贝至输出目录

PEMS.Common.Model 同 PEMS.Sl.Controls 项目相同设置.

现在重新编译试试看.

image

PMES.Common.Model 同 PEMS.Sl.Controls 都被打成 zip 包了.

现在看看 PEMS.Sl.UI.xap 多大.

image

由最初的 452KB. 变为 210 KB. 其他均为动态下载

 

 

摘自:

http://www.cnblogs.com/hackerttao/archive/2009/10/16/1584537.html

参考:

http://hi.baidu.com/flydragon1125/blog/item/09c5ab12f9b781dac2fd7850.html

  评论这张
 
阅读(605)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017