myButton.Click += new RoutedEventHandler(myButton_Click);
void myButton_Click(object sender, RoutedEventArgs e)
{
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
//打开打包的xap文件
client.OpenReadAsync(new Uri("Binglang.ExternalProject.xap", UriKind.Relative));
}
void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
//通过AppManifest.xaml文件取出动态库的信息
Assembly asm = LoadAssemblyFromXap(e.Result, "Binglang.ExternalProject.dll");
////使用反射创建相关的实例,并在页面上加载
holder.Children.Clear();
UIElement element = asm.CreateInstance("Binglang.ExternalProject.MainPage") as UIElement;
this.holder.Children.Add(element);
}
/// <summary>
/// 通过AppManifest.xaml文件取出动态库的信息
/// </summary>
/// <param name="packageStream">OpenReadCompletedEventArgs e.Result</param>
/// <param name="assemblyName">动态库文件名</param>
/// <returns></returns>
Assembly LoadAssemblyFromXap(Stream packageStream, string assemblyName)
{
//解包,读取AppManifest.xaml文件信息
string appManifest = new StreamReader(Application.GetResourceStream(new StreamResourceInfo(packageStream, null), new Uri("AppManifest.xaml", UriKind.Relative)).Stream).ReadToEnd();
//------------解析AppManifest.xaml信息内容
XElement deploymentRoot = XDocument.Parse(appManifest).Root;
List<XElement> deploymentParts = (from assemblyParts in deploymentRoot.Elements().Elements()
select assemblyParts).ToList();
Assembly asm = null;
foreach (XElement xElement in deploymentParts)
{
string source = xElement.Attribute("Source").Value;
AssemblyPart asmPart = new AssemblyPart();
StreamResourceInfo streamInfo = Application.GetResourceStream(new StreamResourceInfo(packageStream, "application/binary"), new Uri(source, UriKind.Relative));
if (source == assemblyName)
{
asm = asmPart.Load(streamInfo.Stream);
}
else
{
asmPart.Load(streamInfo.Stream);
}
}
return asm;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/manimanihome/archive/2009/08/29/4498244.aspx
分享到:
相关推荐
XAP文件是微软Silverlight平台开发的应用程序包格式,主要用于构建和分发基于浏览器的富互联网应用程序(RIA)。XAP文件包含所有必要的组件,如代码、资源、配置信息等,以便在支持Silverlight的浏览器中运行。然而...
**客户端Bin目录与Silverlight XAP文件详解** 在开发基于Silverlight的应用程序时,`clientBin`目录扮演着至关重要的角色。这个目录是ASP.NET Web应用程序的默认结构的一部分,用于存放客户端可执行文件,尤其是...
1. 文件格式:XAP(XAML Application Package)是Silverlight应用的打包文件,以.zip格式压缩,包含了XAML(可扩展应用程序标记语言)文件、DLL(动态链接库)、资源文件和配置信息。 2. XAML:XAML是XML的一个子集...
SL动态加载外部xap包是一种在Silverlight应用中实现代码分离和按需加载的技术。Silverlight是微软开发的一种运行于浏览器的RIA(Rich Internet Application)技术,它允许开发者创建具有丰富用户体验的网络应用。XAP...
标题中的"xap软件.zip"指的是一个包含XAP文件的压缩包。XAP全称为Windows Phone Application Package,是微软为Windows Phone平台开发的应用程序打包格式。这些XAP文件类似于Android的APK文件,用于存储和分发针对...
4. **修改XAP文件**:XAP文件是Silverlight应用程序的打包文件,包含了所有的资源、代码和配置。通常情况下,XAP文件在部署后不应被修改,因为它是安全沙盒的一部分。但是,如果你需要在运行时动态调整配置,可以...
在Windows Phone平台中,XAP文件是应用程序的打包格式,类似于Android的APK或iOS的IPA文件。这款工具的出现,旨在帮助用户更便捷地在WP7设备上安装非市场来源的XAP应用,拓展了用户对应用获取的途径。 首先,了解...
XAP文件是Microsoft Silverlight应用程序的打包文件格式,它包含了运行Silverlight应用程序所需的所有资源,包括代码、图像、样式等。在Windows Phone平台上,开发者通常会将应用打包成XAP文件以便于部署和分发。...
Xap文件是微软为WP平台设计的一种特殊格式的应用程序包,它包含了应用程序的所有组件,如代码、资源、配置文件等。而“Xap部署”则指将这种Xap文件安装到WP设备上的过程。 在WP系统中,正常情况下,用户只能通过...
在Windows Phone 7平台上,开发和测试应用通常涉及安装XAP文件。XAP(XNA Package)文件是Windows Phone应用程序的打包格式,包含了应用程序的所有组件,包括代码、资源和元数据。以下是一份详细的步骤指南,帮助你...
【压缩包子文件的文件名称列表】:Tom XAP Installer.exe 是该软件的执行文件,通常用于安装程序。这个.exe文件是Windows操作系统下的可执行文件格式,用户只需双击运行,即可启动安装过程,按照向导提示完成Tom XAP...
XAP 1.6设计时考虑到了可扩展性,允许用户根据需求动态添加或移除硬件资源,而不会影响正在运行的应用程序。这种弹性扩展能力对于应对流量波动和应对未来增长非常有用。 **8. 监控和管理工具** XAP 1.6提供了强大的...
XAP中多余程序集清除器:一个用SL开发的商业产品在发布时,可能有若干AXP包文件。一般情况下,有一个主XAP包文件,由主包文件下载其它包文件并装入内容。这种情况下,包文件间可能都会包含共用的程序集DLL,为了减少...
XAP,全称Silverlight XAP文件,是微软Silverlight开发平台上的应用程序包格式。它包含了运行Silverlight应用所需的所有组件,如代码、资源和配置信息。XAP安装器可能是一个工具,允许用户方便地安装和管理这些...
比以前的Tom XAP Installer 有很大改善,不用再启动Application Deployment安装了。 连接手机与电脑后,保持Zune运行。 以管理员身份运行Tom XAP Installer,然后选择设备类型,再选择要安装的xap程序,保持手机在...
进来学习cocos2dx,为了研究对wp8的支持,将 cocos2dxForWp8中自带的样例工程打成了一个支持wp8安装的安装包,tests.xap,手机解锁的同学可以下来装手机上,体验一下cocos2dx对WP8的支持
Tom XAP 你懂得,芒果破解软件安装必备工具。
wp7手机操作系统安装器,主要应用于安装xap类型的程序,操作简单易懂