silverlight 中缓存应用程序相应的库文件

如果所开发的 silverlight 应用比较大,可以缓存应用的一些相关的库文件,在 silverlight 中支持对库文件的缓存。

 

启用库文件缓存:

打开项目的“属性”框,在 sliverlight 活页中选中“使用应用程序库缓存减少 XAP 大小”选项,然后引用 silverlight SDK 中自带的程序集,然后在程序集的属性页中把“复制本地”属性值设置为 true,这样在生成项目的时候,程序集不会被打包进 XAP 文件中,而是单独打包成一个 .zip 文件。

 

上面的操作说引用 silverlight SDK 自带的程序集时才会被打包成 .zip 文件,如果自定义的程序集也需要打包成 zip 文件的话,还需要另外一个操作,就是在程序集所在的位置新创建一个与程序集同名的 .extmap.xml 文件(不需要 DLL 后缀),如为 Hello.dll 创建一个 .extmap.xml 的文件,文件名为 Hello.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 > Hello </ name >
    
< version > 1.0.0.0 </ version >
    
    
<!--  必须指定,不然不会单独打包  -->
    
< publickeytoken > 31bf3856ad364e35 </ publickeytoken >
    
< relpath > Hello.dll </ relpath >
    
    
<!--  打包的文件名称,如果有多个程序集使用一个名称,则打包的时候会打包成一个 ZIP 文件  -->
    
< extension  downloadUri ="Hello.zip"   />
  
</ assembly >
</ manifest >

 

 

 

在为 Hello.dll 程序配制好 .extmap.xml 文件后,这样 VS 在生成的时候就会把 Hello.dll 程序单独打包成一个 .zip 文件了。

这里还需要注意的的程序集必须是签过名的程序集,否则也不会打包成 .zip 文件。 

 

你可能感兴趣的:(silverlight)