我正在为客户编写的Silverlight LOB应用程序做一些工作..
当我部署时,我不禁注意到xap文件的大小(4mb),并且考虑到它不是一个庞大的应用程序,它似乎有点不寻常。
我正在使用telerik silverlight工具包(但仅包括所需的主题 - 我认为2)..
大约有1mb的图片(对于LOB应用来说可能有点太多了)..
这是Silverlight应用程序的平均值吗?
你的xap文件的平均大小是什么?
我如何“缩小”或压缩我的xap文件?
答案 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