这次得到了一个做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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <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,打开看看:
最后,附上我的测试程序供大家参考:
SilverlightApplication10.rar ( 19.22 K)本文出自 “葡萄城控件博客” 博客,请务必保留此出处http://www.voidcn.com/article/p-txnzjgno-eu.html
@H_485_301@ 总结以上是内存溢出为你收集整理的如何减少silverlight XAP包的尺寸全部内容,希望文章能够帮你解决如何减少silverlight XAP包的尺寸所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)