艾伟:Silverlight 2应用程序中XAP文件揭秘

概述

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

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

XAP文件是什么

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

如何使用XAP文件

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

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

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

XAP文件如何执行

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

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文件中,该如何做呢?可以通过设置程序集属性来实现,如下图所示:

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

总结

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

时间: 2024-07-31 12:36:07

艾伟:Silverlight 2应用程序中XAP文件揭秘的相关文章

Silverlight 2应用程序中XAP文件揭秘

概述 XAP文件是Silverlight 2应用程序编译打包后的一个文件,它是一个标准的zip压缩文件,包括了 Silverlight 2应用程序所需的一切文件,如程序集.资源文件等. XAP文件是什么 XAP文件是Silverlight 2应用程序编译打包后的一个文件,包括了Silverlight 2应用程序所需的一切 文件,如程序集.资源文件等.这里的xap并没有任何特殊的意义,仅仅是Silverlight 2应用程序编译后 生成文件的扩展名而已,本质上它是一个标准的zip压缩文件.我们可以

在Silverlight 2应用程序中切换用户控件的技巧

摘要 大家都知道,在Silverlight 2应用程序中,每个应用程序将生成一个xap文件,每一个xap文件中只能 设置一个起始的用户控件.如果我们有多个用户控件,需要在不同的ASP.NET页面中加载,最简单的方法 莫过于针对多个用户控件分别建立对应的Silverlight项目,但这种方式有很多的缺点,如我们的样式文 件需要在多个项目中进行拷贝. 准备 现在建立一个项目结构如下图所示,在Silverlight项目中我们有个三个用户控件:ContentPage. DefaultPage.Maste

在Python程序中操作文件之flush()方法的使用

  这篇文章主要介绍了在Python程序中操作文件之flush()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 flush()方法刷新内部缓冲区,像标准输入输出的fflush.这类似文件的对象,无操作. Python关闭时自动刷新文件.但是可能要关闭任何文件之前刷新数据. 语法 以下是flush()方法的语法: ? 1 fileObject.flush(); 参数 NA 返回值 此方法不返回任何值. 例子 下面的例子显示了flush()方法的使用. ? 1 2 3 4

在Python程序中操作文件之isatty()方法的使用

  这篇文章主要介绍了在Python程序中操作文件之isatty()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下 如果文件已连接(与终端设备相关联)到一个tty(状)的设备,isatty()方法返回True,否则返回False. 语法 以下是isatty()方法的语法: ? 1 fileObject.isatty(); 参数 NA 返回值 如果该文件被连接(与终端设备相关联)到一个tty(类似终端)设备此方法返回true,否则返回false. 例子 下面的例子显示了i

在Python程序中进行文件读取和写入操作的教程

  这篇文章主要介绍了在Python程序中进行文件读取和写入操作的教程,是Python学习当中的基础知识,需要的朋友可以参考下 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件).

xcode程序中.a文件怎么能打开?别人的代码封装成sdk,只能看到.h文件

问题描述 xcode程序中.a文件怎么能打开?别人的代码封装成sdk,只能看到.h文件 .h文件中只能看到方法名称是将代码封装成的.a文件吗?怎么才能打开.a的文件?看到这些方法里面是怎么写的呢 解决方案 .a是静态库文件,是由单个.c(.m,.cpp)编译生成的目标文件压缩而成的,可以解压出来,但解压出来以后也只能看到目标文件,用objdump等工具可以查看反汇编,看不到源代码

使用 MEF 公开 Silverlight MVVM 应用程序中的接口

下载代码示例 许多开发人员可能都将 Silverlight 视为以 Web 为中心的技术,但实际上,它已经成为构建任何应用程序的优秀平台. Silverlight 本身就支持许多概念,例如数据绑定.值转换器.导航.浏览器外操作和 COM 互操作,因此它可以相对直观简便地创建任何种类的应用程序. 我说的是"任何种类",其中当然也包括企业级应用程序. 利用 Model-View-ViewModel (MVVM) 模式来创建 Silverlight 应用程序,这使您除了能够使用 Silver

一起谈.NET技术,使用 MEF 公开 Silverlight MVVM 应用程序中的接口

下载代码示例 许多开发人员可能都将 Silverlight 视为以 Web 为中心的技术,但实际上,它已经成为构建任何应用程序的优秀平台. Silverlight 本身就支持许多概念,例如数据绑定.值转换器.导航.浏览器外操作和 COM 互操作,因此它可以相对直观简便地创建任何种类的应用程序. 我说的是"任何种类",其中当然也包括企业级应用程序. 利用 Model-View-ViewModel (MVVM) 模式来创建 Silverlight 应用程序,这使您除了能够使用 Silver

Windows 8开发入门(十八)windows 8开发模拟器和程序中关联文件类型

本文将讲解两个内容,1.Windows 8 开发模拟器的使用.2.程序中设置关联文件类型. 一. Windows 8 开发模拟器的使用 1.在VS2012中自带有Windows 8开发模拟器,我们选择VS界面中的调试按 钮从"本地计算器"改选为"Simulater"模拟器即可,如下图: 2.点击"Simulator"按钮即可弹出以下界面 3.此时我们可以看到模拟器上面有很多按钮这些按钮的功能有模拟单点触摸.多点触摸.旋转设备等操作 .我们在这里可