Silverlight 4.0 XAP文件是如何构造的?

Silverlight 4.0 XAP文件是如何构造的?,silverlight-4.0,distribution,Silverlight 4.0,Distribution,问题: XAP文件是自包含的吗 它们是否链接到我在项目中引用的所有DLL 如果我需要分发我的应用程序,我所要做的就是将XAP文件交给某人吗 如果您使用的是其他核心Silverlight程序集(例如SilverlightToolkit),则Silverlight XAP文件可能会比较棘手 XAP文件只是zip文件-打开一个看看。它们是自包含的,包括任何自定义/额外的DLL—当用户安装Silverlight时,将安装标准Silverlight程序集 对于要使用的每个程序集,.proj文件中都需要对D

问题:

  • XAP文件是自包含的吗
  • 它们是否链接到我在项目中引用的所有DLL
  • 如果我需要分发我的应用程序,我所要做的就是将XAP文件交给某人吗

  • 如果您使用的是其他核心Silverlight程序集(例如SilverlightToolkit),则Silverlight XAP文件可能会比较棘手

  • XAP文件只是zip文件-打开一个看看。它们是自包含的,包括任何自定义/额外的DLL—当用户安装Silverlight时,将安装标准Silverlight程序集

  • 对于要使用的每个程序集,.proj文件中都需要对DLL的引用。与其他项目类型不同,如果一个项目引用另一个项目,则两个项目都需要引用任一项目使用的所有DLL

  • 如果您愿意,您应该可以直接将XAP文件交给某人,但是Silverlight是为在浏览器中使用而设计的,因此您至少需要包含生成的测试页面。最好也是最有用的方法是提供一个可公开访问的网页,该网页承载您的silverlight应用程序

  • 默认情况下,是的。有关备选方案,请参见答案3
  • 默认情况下,除运行时安装的核心DLL以外的所有DLL;它将包含SDK、工具箱、第三方控件或您自己的库中的任何内容
  • 默认情况下,是的。但是,在Silverlight 3中,有一个选项可以将某些程序集(例如SDK中的任何内容)打包到单独的ZIP文件中,这些文件可以单独下载。在Visual Studio中,在项目属性中查找名为“使用应用程序库缓存减少XAP大小”的复选框。此选项切换是否创建/使用ZIP文件。启用ZIP选项允许多个Silverlight应用程序共享对ZIP文件的依赖关系,这样您就不用每次都将所有内容打包到XAP中,只需下载一个应用程序的ZIP,并将其保存在其他应用程序的浏览器缓存中
  • 对于XAP文件的一般内容,有两个重要的位:

  • Foo.dll-项目的主程序集(根据需要重命名)
  • AppManifest.xaml-描述应用程序的要求,例如所需的最低运行时版本、Foo.dll的入口点和其他设置,包括浏览器外设置,或是否使用上述库缓存功能

  • 其他任何东西都只是你的应用程序使用的内容。

    即使这个问题已经得到了回答,我也要把这个问题放进去,因为它还没有被提及

    您提到您正在使用SL4-如果您的浏览器(OOB)用完了,那么您可以只发送XAP文件,并使用()将其“安装”到客户端计算机。作为安装的一部分,您还可以指定更新的来源,这对于您发现bug或需求更改非常重要