XAP文件分析

转载 2008年09月28日 16:35:00

概述


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文件相當於是一個清單(類似於庫存單一樣),如下語法所示:

 

 

 

 

它至少包括了如下幾個方面的訊息:


1.應用程序入口點的程序集
2.應用程序入口點的類型
3.應用程序運行時的版本
4.應用程序相關的所有程序集


XAP文件如何產生


XAP文件在Silverlight項目編譯時由開發環境自動生成,一般情況下,不需要我們手工進行控制。這裡大家可能會想到一個問題,如果打包在XAP文件中的程序集過多,會造成文件體積變大,有些程序集雖然我們在程序中用到了,但並不是一下載XAP文件就要用到,可能是某一特定的時刻才會用,那這樣可不可以只打包一些必須的程序集,而其它的在需要時再下載呢?答案自然是肯定的。

 

 

 


如我們程序中用到了System.Windows.Controls.Extended程序集,但我們又不想它打包在xap文件中,該如何做呢?可以通過設定程序集屬性來實現,如下圖所示:

 


我們可以設定程序集的Copy Local屬性為False,這樣該程序集將不會打包在XAP文件中,等需要時我們可以在手工進行下載,如使用WebClient進行下載等。


總結


本文詳細介紹了Silverlight 2中的XAP文件,希望對大家有用。
本文章來自於神魂顛倒論壇  http://bbs.flash2u.com.tw
原文網址:http://bbs.flash2u.com.tw/dispbbs_220_87633.html

 

 

完美实现Silverlight动态加载

这段时间利用项目空隙,研究了一下Silverlight的动态加载技术。动态加载分为两种: 1、网页局部加载(即一个网页上有多个Silverlight应用) 2、单个Silverlight应用动态加...
  • Andeewu
  • Andeewu
  • 2013年11月18日 22:44
  • 1271

强制客户端更新Silverlight XAP文件方法汇总

 原文地址: http://www.cnblogs.com/jv9/archive/2012/07/17/2595015.html http://www.cnblogs.com/yjmyzz...
  • minsenwu
  • minsenwu
  • 2013年11月06日 09:39
  • 1262

DUMP文件分析2:一个最简单的DUMP分析示例

本节开始,我将在示例中给大家讲述基本的DUMP文件分析方法。读者应该对Windows系统比较了解,同时比较熟悉Windbg。 本节的示例非常简单,也非常经典,就是常常会遇到的访问空指针。Window...
  • hustd10
  • hustd10
  • 2016年07月30日 21:53
  • 7254

Sliverlight中xap文件详解

转自:http://www.cnblogs.com/zcy_soft/archive/2010/09/24/1833766.html XAP文件是Silverlight 2应用程序编译打包后的一个文...
  • Yoryky
  • Yoryky
  • 2014年12月23日 09:01
  • 437

稳扎稳打Silverlight(31) - 2.0Tip/Trick之加载XAP, 加载XAML, 加载DLL, AppManifest.xaml文件说明, 自定义鼠标指针

[索引页] [源码下载] 稳扎稳打Silverlight(31) - 2.0Tip/Trick之加载XAP, 加载XAML, 加载DLL, AppManifest.xaml文件说明, ...
  • chgsh_2008
  • chgsh_2008
  • 2011年11月28日 15:45
  • 310

动态加载XAP文件

myButton.Click += new RoutedEventHandler(myButton_Click); void myButton_Cl...
  • jiangmeiling9921
  • jiangmeiling9921
  • 2012年06月29日 10:23
  • 870

强制客户端更新Silverlight XAP文件方法汇总

 原文地址: http://www.cnblogs.com/jv9/archive/2012/07/17/2595015.html http://www.cnblogs.com/yjmyzz...
  • minsenwu
  • minsenwu
  • 2013年11月06日 09:39
  • 1262

Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)

有时我们需要创建客户端应用或者是不需要联网的小程序,例如一个桌面小游戏,你想发给你的好友。使用Winform或者wpf,用户需要安装30多M的.net框架。然而我们使用Silverlight这个精简框...
  • nic7968
  • nic7968
  • 2012年03月24日 12:45
  • 1556

强制客户端更新Silverlight XAP文件方法汇总

在Silverlight相关技术论坛经常会看到Silverlight部署后,客户端无法更新本地XAP文件,每次只能通过手动清理浏览器缓存,客户端才能正常访问到最新版本的XAP文件。本文将介绍几种强制客...
  • jv9
  • jv9
  • 2012年07月17日 12:05
  • 1718

cocos2dxForWp8引擎示例生成的tests.xap安装文件

  • 2013年04月24日 15:59
  • 11.69MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XAP文件分析
举报原因:
原因补充:

(最多只允许输入30个字)