Silverlight 的部署单位是 XAP 文件。这个文件包含了 manifest 信息,还有运行 Silverlight 应用所需的所有代码。这个文件本身的格式并不特殊,它只是一个 ZIP 文件,命名不同而已。从里面可以找到一个 AppManifest.xaml,还有所有必需的 DLL 文件。
不幸的是,这里面的 DLL 常常会包含许多无用的代码。即使你的应用只需要一小部分库,下载文件的大小也会比你所需的大很多。用了 XapOptimizer 以后,你无需为每一个应用都使用一个新的项目文件,而是可以把不需要的类移除掉。
XapOptimizer 是 ComponentOne 的一款在线工具,目前还是 beta 版本。用户可以上传 XAP 文件,然后 XapOptimizer 会把不需要的类清除掉,再把文件通过邮件发送回用户。写这篇文章的时候,我从浏览器 cache 里面随便选了几个 XAP 文件做了试验,最后平均每个文件都小了 27% 左右。用 Reflector 检查发现,DLL 里面确实少了不少东西。
查看英文原文: Looking inside Silverlight XAP Files, and Making Them Smaller
评论