silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了快速浏览silverlight3 Beta: 打包下载文件(共享程序集)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

       翻译:A quick look at Silverlight 3: Packaging Assemblies for Download        在Silverlight2中,如果使用附属(additional)程序集(比如System.Xml.Linq.dll) 时,需要在VS中添加对它的引用。最终在生成的XAP文件中包括下面内容:            1.当前应用的asse
       在Silverlight2中,如果使用附属(additional)程序集(比如System.Xml.Linq.dll)
时,需要在VS中添加对它的引用。最终在生成的XAP文件包括下面内容
     
     1.当前应用的assembly 文件 
     2.当前应用的manifest 文件 
     3.一个System.Xml.Linq.dll拷贝
   
       这样,每当用户下载该应用时,他们也会下载System.Xml.Linq.dll文件。如果想下载其它silverlight应用(也使用了System.Xml.Linq.dll)的话,这些应用是不能从中获益(共享)的。事实上,我的应用程序中就已经造成了这个问题。
      注:System.Xml.Linq.dll只是一个例子,还有不少的assemblies被大量用于silver
light应用中。

     在silverlight3中,可以通过Microsoft 来下载一些assemblies文件,好处就是:    
      1.减少你的XAP文件尺寸
      2.对于其它XAP中已(有)下载的assembly文件,在你的应用中可不必再次下载。
 
      如你的安装路径与我相同:     
c:\program files\microsoft sdks\silverlight\v3.0\libraries\client
 
       并搜索*.xml文件的话,@R_273_10585@一些叫“.extmap.xml”的文件。举个例子:
     "System.Xml.Linq.extmap.xml "
<? xml version="1.0" ?>  
< @H_779_115@manifest  xmlns:xsi ="http://www.w3.org/2001/XMLscheR_346_11845@a-instance"  
          xmlns:xsd
="http://www.w3.org/2001/XMLscheR_346_11845@a" >  
  
< assembly >  
    
< name > System.Xml.Linq </ name >  
    
< version > 2.0.5.0 </ version >  
    
< publickeytoken > 31bf3856ad364e35 </ publickeytoken >  
    
< relpath > System.Xml.Linq.dll </ relpath >  
    
< extension  downloadUri ="http://go.microsoft.com/fwlink/?LinkId=142576"   />  
  
</ assembly >  
</ @H_779_115@manifest >

 
       这个文件所做的就是提供一个“MIcrosoft链接”,即从哪可下载到“System.Xml.Linq.dll”,而你可以不用在XAP中提供该(xml)文件

        如果你安装Silverlight3 Beta tools之后,就会在VS中的项目属性页中看到一个新添的选项,如下:
 

快速浏览silverlight3 Beta: 打包下载文件(共享程序集)


       当选中该项之后,你就会看到生成的程序manifest中有一些变化。比如,引用System.Xml.Linq.dll:
@H_197_271@< Deployment  xmlns ="http://scheR_346_11845@as.microsoft.com/client/2007/deployment"  xmlns:x ="http://scheR_346_11845@as.microsoft.com/winfx/2006/xaml"  EntryPointAssembly ="SilverlightApplication18"  EntryPointType ="SilverlightApplication18.App"  runtimeVersion ="3.0.40307.0" >  
  
< Deployment.Parts >  
    
< AssemblyPart  x:Name ="SilverlightApplication18"  source ="SilverlightApplication18.dll"   />  
    
< AssemblyPart  x:Name ="System.Xml.Linq"  source ="System.Xml.Linq.dll"   />  
  
</ Deployment.Parts >  
</ Deployment >
 
       而选中该选项后:
< Deployment  xmlns ="http://scheR_346_11845@as.microsoft.com/client/2007/deployment"  xmlns:x ="http://scheR_346_11845@as.microsoft.com/winfx/2006/xaml"  EntryPointAssembly ="SilverlightApplication18"  EntryPointType ="SilverlightApplication18.App"  runtimeVersion ="3.0.40307.0" >  
  
< Deployment.Parts >  
    
< AssemblyPart  x:Name ="SilverlightApplication18"  source ="SilverlightApplication18.dll"   />  
  
</ Deployment.Parts >  
  
< Deployment.ExternalParts >  
    
< ExtensionPart  source ="http://go.microsoft.com/fwlink/?LinkId=142576"   />  
  
</ Deployment.ExternalParts >  
</ Deployment >
 
        当在浏览器中运行该应用时,会看到(使用fiddler工具)下面的流量(请求)就会从我的程序中发
送到Microsoft.com:
    
 

快速浏览silverlight3 Beta: 打包下载文件(共享程序集)


   
      以便获取 System.Xml.Linq.dll的压缩文件
      注:就我目前知道的,这种情况只对Microsoft的assemblies有效。

大佬总结

以上是大佬教程为你收集整理的快速浏览silverlight3 Beta: 打包下载文件(共享程序集)全部内容,希望文章能够帮你解决快速浏览silverlight3 Beta: 打包下载文件(共享程序集)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。