相濡以沫

鱼遇于池,池涸,相濡以沫,相鞠以湿,不若相忘于海。(爱技术、爱时尚)

用户操作
[即时聊天] [发私信] [加为好友]
挨踢老人ID:onlyzhangqin
3131023次访问,排名1,好友286人,关注者1065人。
大便的离去是马桶的招唤,还是肛门的不挽留?
onlyzhangqin的文章
原创 672 篇
翻译 11 篇
转载 18940 篇
评论 268 篇
挨踢老人的公告
点我聊QQ


最近评论
jianwei824:上大一的时候我也写过这样的一个程序,通过这个才真正开始对编程着迷,但编了好多年又迷了!
feiniao2008:学习
mynote:30岁而已,当了总统还是最年轻的总统呢。
jerry_yn:我想知道你的无线模块有中继功能吗?
huangkui800:好 嘿嘿
文章分类
收藏
相册
超女里不多的美女
都是美女
好看好玩
著名的照片
技术
Cisco网络技术(Net130.Com)
CSS在线编辑
DotNet男孩社区
IP查询
Sunmoonfire's artistic matrix
UML软件工程组织
一个好博客(RSS)
中国协议分析网
中国项目管理网
微软帮助和支持
朋友
又一个好博客(RSS)
小人鱼的秘密
我的站长天下
其它
AC MILAN官网
Badged
deshow 在线制作服务
E书下载
IT公司速查手册
msn在线留言
Slide
Webfetti
东方资源
中华电脑书库
博客网址价值评估工具
我爱e书
我的下载Blog
存档
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 Silverlight 2应用程序中XAP文件揭秘。收藏

新一篇: Silverlight 下苹果(Mac OS)风格按钮的实现。 | 旧一篇: (mark)Oracle Update Statements。

淘宝书店:http://shop35357269.taobao.com



    

概述

XAP文件是Silverlight 2应用程序编译打包后的一个文件,它是一个标准的zip压缩文件,包括了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等。

本文将对Silverlight中的XAP文件进行详细的说明。

XAP文件是什么

XAP文件是Silverlight 2应用程序编译打包后的一个文件,包括了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等。这里的xap并没有任何特殊的意义,仅仅是Silverlight 2应用程序编译后生成文件的扩展名而已,本质上它是一个标准的zip压缩文件。我们可以修改.xap文件后缀为.zip文件,并用解压缩工具打开,可以看到其中包含的文件:

TerryLee_0113

如何使用XAP文件

xap文件的使用想必大家都已经熟知了,在ASP.NET页面中,我们可以使用Silverlight Control来引用xap文件,如下代码所示:

TerryLee_0114

注意Silverlight控件依赖于ScriptManager,因此在ASP.NET页面上必须要有一个ScriptManager控件。在HTML页面(或者PHP、JSP等)中,我们可以使用如下的方式:

TerryLee_0115

这里的type="application/x-silverlight-2-b2" 指定了当前版本为Silverlight 2 Beta 2,后面的超链接指定了当用户的机器上没有安装Silverlight 2插件时的下载地址及显示的图片。

XAP文件如何执行

一旦我们引用了一个xap文件,在应用程序运行时Silverlight插件将会下载该xap文件并在一个独立的子窗口中运行,如下图所示:

TerryLee_0117

XAP文件包含什么

在本文一开始我们就说,XAP文件包含了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等,但它至少会包含两个文件,一个是当前Silverlight应用程序的程序集,另一个是AppManifest.xaml文件。AppManifest.xaml文件相当于是一个清单(类似于库存单一样),如下代码所示:

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" 

            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

            EntryPointAssembly="XapFileExplain"

            EntryPointType="XapFileExplain.App"

            RuntimeVersion="2.0.30523.6">

  <Deployment.Parts>

    <AssemblyPart x:Name="XapFileExplain" Source="XapFileExplain.dll" />

  </Deployment.Parts>

</Deployment>

 

它至少包括了如下几个方面的信息:

1.应用程序入口点的程序集

2.应用程序入口点的类型

3.应用程序运行时的版本

4.应用程序相关的所有程序集

XAP文件如何生成

XAP文件在Silverlight项目编译时由开发环境自动生成,一般情况下,不需要我们手工进行控制。这里大家可能会想到一个问题,如果打包在XAP文件中的程序集过多,会造成文件体积变大,有些程序集虽然我们在程序中用到了,但并不是一下载XAP文件就要用到,可能是某一特定的时刻才会用,那这样可不可以只打包一些必须的程序集,而其它的在需要时再下载呢?答案自然是肯定的。

如我们程序中用到了System.Windows.Controls.Extended程序集,但我们又不想它打包在xap文件中,该如何做呢?可以通过设置程序集属性来实现,如下图所示:

TerryLee_0118

我们可以设置程序集的Copy Local属性为False,这样该程序集将不会打包在XAP文件中,等需要时我们可以在手工进行下载,如使用WebClient进行下载等。

总结

本文详细介绍了Silverlight 2中的XAP文件,希望对大家有用。





发表于 @ 2008年07月12日 15:46:00|评论(loading...)|收藏

新一篇: Silverlight 下苹果(Mac OS)风格按钮的实现。 | 旧一篇: (mark)Oracle Update Statements。

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 挨踢老人