Caveats about DeploymentCatalog


The information below was wrapped up in my previous post on DeploymentCatalog. As a bunch of folks have been asking questions on this, it seems worth to rip out on it’s own.


A few caveats about DeploymentCatalog.


DeploymentCatalog is a very exciting addition to the MEF box. There are a few caveats to it’s usage.



  • Does not support Silverlight cached assemblies. (Otherwise known as TPEs). This means that DC will not download referenced assemblies that are packaged with the Silverlight caching infrastructure (.extmap).

    • This includes cached assemblies in the main xap.
    • If the cached assemblies are referenced by the main app, they will be available to the assemblies in a downloaded XAP.
    • You can create shared xaps which contain assemblies to be used by other xaps and download those with the DeploymentCatalog. As long as the shared xaps are downloaded first they will be available to others.
    • If you do decide to use either of the previous approaches, be sure to set your references to “Copy Local = False” in your XAPs otherwise you will be embedding the shared assemblies again.Does not support localization.
    • We are looking into cached assembly support in the future.

  • Does not support non-embedded resources.
  • Local resource references in XAML also are not supported i.e. using pack URIs. You can programatically access embedded resources though.

Comments (3)

  1. Clement says:

    Another important limitation to mention would be the fact that different xaps cannot contain different version of the same assembly.

    By the way, any plan on supporting this ?

    I believe it's more of a Silverlight limitation…

  2. Patrick says:

    Yes, it's silverlight that only supports a single appdomain

  3. Clement says:

    It's kind of an issue though when third party plugins have both references to different versions of the same assembly.

    Say the silverlight toolkit or reactive extensions for example…