I have been trying to leverage Application Library Caching this time with MEF and get an interesting problem.
I have followed the documentation:
The second approach is to leverage application library caching in Silverlight. To use this feature, you go to the Silverlight project properties of a project and select the check box labeled Reduce XAP size by using application library caching.
When you do this, any referenced assemblies that have the right metadata files collocated with them will not be included in the XAP file; instead, they will be placed in a separate .zip file, and the .zip file will be referenced by the XAP file's ApplicationManifest.xaml
file as an external part. The signed Silverlight Prism Library binaries have the required metadata files to use this feature as well as the libraries from the Silverlight SDK and the Silverlight Toolkit. To leverage this functionality for your own shared assemblies,
you need to provide a metadata file, as described in the topic, "How to: Use Application Library Caching" on MSDN.
1) I have strong named the open source CoverFlow control with a key.
2) I have created a mapext.xml file for the assembly and placed it next to it.
3) I have activated the "Application Library caching" checkbox in the projects.
I can confirm that the open source cover flow control now shows up in a zip file next to the xap file. The xap file doesn't include the cover flow control anymore.
So what happens at this stage? Should I be able to run the application or do i still need to add some more meta data somewhere? I can't see that from the documentation.
If thats all, this doesn't work. I get an exception that the coverflow control or one of it's dependencies can't be loaded.
I have a sample project uploaded here to illustrate the problem: Download
Your help on this would be highly appreciated,