|
概述
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文件,希望對大家有用。
NET技術:Silverlight 2應用程序中XAP文件揭秘,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。