• 如何减少silverlight XAP包的尺寸


    这次得到了一个做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 的内容说明

    SilverlightClassLibrary1 1.0.0.0 ee6c3f173c1a51b5 SilverlightClassLibrary1.dll

    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,打开看看: 

    最后,附上我的测试程序供大家参考:

     SilverlightApplication10.rar ( 19.22 K)

    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    syslog+rsyslog+logstash+elasticsearch+kibana搭建日志收集
    行为型模式(一)
    spring cloud Sleuth
    Java面试题(基础)
    Java笔试题
    Idea创建SpringBoot项目整合Hibernate
    Java中遍历Map的四种方式
    SQL面试题
    Linux入门
    Spring Boot AOP Demo
  • 原文地址:https://www.cnblogs.com/Areas/p/2154724.html
Copyright © 2020-2023  润新知