彩票走势图

如何减少silverlight XAP包的尺寸

转帖|其它|编辑:郝浩|2011-03-31 14:17:49.000|阅读 823 次

概述:  这次得到了一个做Silverlight应用开发的机会,在发布时遇到 xap 包太大的问题,上网看了半天,最后把微软的这个文档 “如何使用应用程序库缓存” 翻来覆去看了半天,终于搞明白了它说的内容,晕啊,真应了 “会者不难” 这句老话。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  这次得到了一个做Silverlight应用开发的机会,在发布时遇到 xap 包太大的问题,上网看了半天,最后把微软的这个文档 “如何使用应用程序库缓存” 翻来覆去看了半天,终于搞明白了它说的内容,晕啊,真应了 “会者不难” 这句老话。

  最后决定把这个其实很简单的东西总结一下,避免别的新学者浪费时间。

  开发场景:

 

  Silverlight Application: 与Web交互, 程序集名:SilverlightApplication10.dll

  Silverlight Class Library: 被SilverlightApplication10引用,程序集名:SilverlightClassLibrary1.dll

  目标:

  编译后的ClientBin中,SilverlightApplication10.xap包中不包含SilverlightClassLibrary1.dll, SilverlightClassLibrary1.dll 以SilverlightClassLibrary1.zip新式单独存在。

  OK, 现在说说这核心三部曲:

  1. SilverlighApplication10工程属性里”Silverlight”标签下勾上 “Reduce XAP size by using application library caching”

  2. 在保存SilverlightClassLibrary1.dll的地方增加一个extmap文件” SilverlightClassLibrary1.extmap.xml”

SilverlightClassLibrary1.extmap.xml 的内容说明

<?xml version="1.0"?>
<manifest xmlns:xsi=""
          xmlns:xsd="">
  <assembly>
    <name>SilverlightClassLibrary1</name>
    <version>1.0.0.0</version>
    <publickeytoken>ee6c3f173c1a51b5</publickeytoken>
    <relpath>SilverlightClassLibrary1.dll</relpath>
    <extension downloadUri="SilverlightClassLibrary1.zip" />
  </assembly>
</manifest>

name: SilverlightClassLibrary1 的程序集名字

version: assembly version.

publickeytoken: 打上签名后的public key

  没什么太多解释的,微软的文档“” 里说的很清楚了。对于version和publikeytoken如果你拿不准的话,可以用reflector看,简单直接:

  另外,extension downloadUri的内容注意别写错了,是 .zip结尾!我有个配置给copy成.dll了,老不成功,以为还需要设置别的配置,在快把我搞死的时候,才发现这儿写错了

  3. SilverlightApplication10 不要引用SilverlightClassLibrary1的工程,要直接引用编译好的SilverlightClassLibrary1.dll

OK,最后结果如图:

清爽的xap包!把它改名成SilverlightApplication10.zip,打开看看:


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:葡萄城控件技术团队博客

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP