Silverlight 3 has nice feature to reduce the XAP package size of application by providing external assembly parts. To enable this feature use Silverlight project properties:
When this enabled, most of Microsoft assemblies will not reside inside XAP package, but as ZIP files alongside the XAP itself. The application manifest will point to those ZIP files. This will enable browser caching mechanism.
Actually, compiler “decides” which assembly will could be used as external ZIP assembly by presence of valid external map manifest file alongside assembly. I’ll not describe what is in this manifest – those, who want to know more about it could find information in very good post by Tim Heuer here.
I’m do extensive usage of this feature (because of many “infrastructure” assemblies which accompany me from project to project) and decided to build small utility for those manifest files creation.
Utility available for download from here.