我的.XAP文件太大了吗?如果是这样我怎么让它变小?

时间:2011-07-22 13:00:54

标签: silverlight large-files

我正在为客户编写的Silverlight LOB应用程序做一些工作..

当我部署时,我不禁注意到xap文件的大小(4mb),并且考虑到它不是一个庞大的应用程序,它似乎有点不寻常。

我正在使用telerik silverlight工具包(但仅包括所需的主题 - 我认为2)..

大约有1mb的图片(对于LOB应用来说可能有点太多了)..

这是Silverlight应用程序的平均值吗?

你的xap文件的平均大小是什么?

我如何“缩小”或压缩我的xap文件?

3 个答案:

答案 0 :(得分:2)

如果您使用7-Zip等存档阅读器打开.xap文件,或将其重命名为.zip并打开它,您就可以了解尺寸的来源。

您可以删除任何未使用的引用来减少文件的大小。如果您不确定是否使用了某些内容,请将其删除,然后查看该应用是否仍然构建。如果没有,请将其重新放入。

在Silverlight项目的属性中,在Silverlight部分中,您可以选中“通过使用应用程序库缓存减少XAP大小”复选框,让它将一些DLL移出到单独的.zip文件中,而不是包含在XAP中。这样,如果您的应用发生变化,您的用户就不必再次下载所有所包含的DLL。

如果它仍然太大而无法满足您的口味,您可能需要查看将图像移出.xap文件。

答案 1 :(得分:1)

您可以通过以下方式最小化xap文件:

  • 缩小图像尺寸

  • 使用xaml而不是使用静态图像来实现样式

  • 删除图片 - 我从未在我的应用程序中执行此操作,但您可以指定图片网址而不是将其嵌入到xap文件中,这会使您的xap文件变小,但会产生较小的ui效果图像需要一些时间(取决于客户的网络)才能下载图像。

  • 将您的应用程序拆分为多个xap文件并动态加载所需的xap模块(MEF和PRISM等框架将使其变得非常简单)

答案 2 :(得分:1)

使xap文件较小的快速方法是在项目的Silverlight选项卡中选中“使用应用程序库缓存减少XAP大小”复选框。有关其功能的更多信息:How to: Use Application Library Caching