快速浏览silverlight3 Beta: 打包下载文件(共享程序集)
翻译:A quick look at Silverlight 3: Packaging Assemblies for Download
在Silverlight2中,如果使用附属(additional)程序集(比如System.Xml.Linq.dll)
时,需要在VS中添加对它的引用。最终在生成的XAP文件中包括下面内容:
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文件,好处就是:
2.对于其它XAP中已(有)下载的assembly文件,在你的应用中可不必再次下载。
如你的安装路径与我相同:
并搜索*.xml文件的话,就会发现一些叫“.extmap.xml”的文件。举个例子:
"System.Xml.Linq.extmap.xml "
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<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>
</manifest>
这个文件所做的就是提供一个“Microsoft链接”,即从哪可下载到“System.Xml.Linq.dll”,
而你可以不用在XAP中提供该(xml)文件。
如果你安装Silverlight3 Beta tools之后,就会在VS中的项目属性页中看到一个新添的选项,
如下:
当选中该项之后,你就会看到生成的程序manifest中有一些变化。比如,引用System.Xml.Linq.dll:
<Deployment.Parts>
<AssemblyPart x:Name="SilverlightApplication18" Source="SilverlightApplication18.dll" />
<AssemblyPart x:Name="System.Xml.Linq" Source="System.Xml.Linq.dll" />
</Deployment.Parts>
</Deployment>
而选中该选项后:
<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:
以便获取 System.Xml.Linq.dll的压缩文件。
注:就我目前知道的,这种情况只对Microsoft的assemblies有效。
原文链接:http://www.cnblogs.com/daizhj/archive/2009/03/26/1422408.html
作者: daizhj, 代震军
Tags: silverlight,package,打包,下载
网址: http://daizhj.cnblogs.com/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2007-04-13 论并发程序控制与天通苑交通阻塞之关系(原创)