Silverlight 5 WinRT

public class AggregateCatalog public class AggregateCatalog
: ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged : ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged
public ICollection`1<ComposablePartCatalog> Catalogs { get; } public ICollection`1<ComposablePartCatalog> Catalogs { get; }
public virtual IQueryable`1<ComposablePartDefinition> Parts { get; } public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed; public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;
public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing; public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;
  protected virtual void Dispose(Boolean disposing);
public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition); public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);
  protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e);

public class AggregateExportProvider public class AggregateExportProvider
: ExportProvider, IDisposable : ExportProvider, IDisposable
public ReadOnlyCollection`1<ExportProvider> Providers { get; } public ReadOnlyCollection`1<ExportProvider> Providers { get; }
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

public class AssemblyCatalog public class AssemblyCatalog
: ComposablePartCatalog, IDisposable, ICompositionElement : ComposablePartCatalog, IDisposable, ICompositionElement
public Assembly Assembly { get; } public Assembly Assembly { get; }
public virtual IQueryable`1<ComposablePartDefinition> Parts { get; } public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
  protected virtual void Dispose(Boolean disposing);
public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition); public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);
public virtual String ToString(); public virtual String ToString();

public class AtomicComposition public class AtomicComposition
: IDisposable : IDisposable
public void AddCompleteAction(Action completeAction); public void AddCompleteAction(Action completeAction);
public void AddRevertAction(Action revertAction); public void AddRevertAction(Action revertAction);
public void Complete(); public void Complete();
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
public void SetValue(Object key, Object value); public void SetValue(Object key, Object value);
public Boolean TryGetValue(Object key, out T& value); public Boolean TryGetValue(Object key, out T& value);
public Boolean TryGetValue(Object key, Boolean localAtomicCompositionOnly, out T& value); public Boolean TryGetValue(Object key, Boolean localAtomicCompositionOnly, out T& value);

public class CatalogExportProvider public class CatalogExportProvider
: ExportProvider, IDisposable : ExportProvider, IDisposable
public ComposablePartCatalog Catalog { get; } public ComposablePartCatalog Catalog { get; }
public ExportProvider SourceProvider { get; set; } public ExportProvider SourceProvider { get; set; }
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

public class ComposablePartCatalogChangeEventArgs public class ComposablePartCatalogChangeEventArgs
: EventArgs : EventArgs
public IEnumerable`1<ComposablePartDefinition> AddedDefinitions { get; } public IEnumerable`1<ComposablePartDefinition> AddedDefinitions { get; }
public AtomicComposition AtomicComposition { get; } public AtomicComposition AtomicComposition { get; set; }
public IEnumerable`1<ComposablePartDefinition> RemovedDefinitions { get; } public IEnumerable`1<ComposablePartDefinition> RemovedDefinitions { get; }

public class ComposablePartExportProvider public class ComposablePartExportProvider
: ExportProvider, IDisposable : ExportProvider, IDisposable
public ExportProvider SourceProvider { get; set; } public ExportProvider SourceProvider { get; set; }
public void Compose(CompositionBatch batch); public void Compose(CompositionBatch batch);
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);

public class CompositionBatch public class CompositionBatch
public ReadOnlyCollection`1<ComposablePart> PartsToAdd { get; } public ReadOnlyCollection`1<ComposablePart> PartsToAdd { get; }
public ReadOnlyCollection`1<ComposablePart> PartsToRemove { get; } public ReadOnlyCollection`1<ComposablePart> PartsToRemove { get; }
public ComposablePart AddExport(Export export); public ComposablePart AddExport(Export export);
public void AddPart(ComposablePart part); public void AddPart(ComposablePart part);
public void RemovePart(ComposablePart part); public void RemovePart(ComposablePart part);

public abstract sealed class CompositionConstants public abstract sealed class CompositionConstants

public class CompositionContainer public class CompositionContainer
: ExportProvider, ICompositionService, IDisposable : ExportProvider, ICompositionService, IDisposable
public ComposablePartCatalog Catalog { get; } public ComposablePartCatalog Catalog { get; }
public ReadOnlyCollection`1<ExportProvider> Providers { get; } public ReadOnlyCollection`1<ExportProvider> Providers { get; }
public void Compose(CompositionBatch batch); public void Compose(CompositionBatch batch);
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  protected virtual IEnumerable`1<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition);
public void ReleaseExport(Export export); public void ReleaseExport(Export export);
public void ReleaseExport(Lazy`1<T> export); public void ReleaseExport(Lazy`1<T> export);
public void ReleaseExports(IEnumerable`1<Export> exports); public void ReleaseExports(IEnumerable`1<Export> exports);
public void ReleaseExports(IEnumerable`1<Lazy`1<T>> exports); public void ReleaseExports(IEnumerable`1<Lazy`1<T>> exports);
public void ReleaseExports(IEnumerable`1<Lazy`2<T, TMetadataView>> exports); public void ReleaseExports(IEnumerable`1<Lazy`2<T, TMetadataView>> exports);
public virtual void SatisfyImportsOnce(ComposablePart part); public virtual void SatisfyImportsOnce(ComposablePart part);

public abstract sealed class CompositionHost  
 
static public void Initialize(CompositionContainer container);  
static public CompositionContainer Initialize(ComposablePartCatalog catalogs);  

sealed class CompositionLock+CompositionLockHolder  
: IDisposable  
public virtual void Dispose();  

  sealed class CompositionLock
  : IDisposable
  public virtual void Dispose();

  public sealed enum CompositionOptions
  : IComparable, IFormattable, IConvertible
  { Default, DisableSilentRejection, IsThreadSafe, ExportCompositionService }

  public class CompositionScopeDefinition
  : ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged
  public virtual IEnumerable`1<CompositionScopeDefinition> Children { get; }
  public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
  public virtual IEnumerable`1<ExportDefinition> PublicSurface { get; }
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;
  protected virtual void Dispose(Boolean disposing);
  public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);
  protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e);
  protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e);

public class DeploymentCatalog  
: ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged  
public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }  
public Uri Uri { get; }  
public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;  
public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;  
public event EventHandler`1<AsyncCompletedEventArgs> DownloadCompleted;  
public event EventHandler`1<DownloadProgressChangedEventArgs> DownloadProgressChanged;  
public void CancelAsync();  
public void DownloadAsync();  
public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);  

  public class DirectoryCatalog
  : ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged, ICompositionElement
  public String FullPath { get; }
  public ReadOnlyCollection`1<String> LoadedFiles { get; }
  public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
  public String Path { get; }
  public String SearchPattern { get; }
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;
  protected virtual void Dispose(Boolean disposing);
  public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);
  protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e);
  protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e);
  public void Refresh();
  public virtual String ToString();

public abstract class ExportProvider public abstract class ExportProvider
public event EventHandler`1<ExportsChangeEventArgs> ExportsChanged; public event EventHandler`1<ExportsChangeEventArgs> ExportsChanged;
public event EventHandler`1<ExportsChangeEventArgs> ExportsChanging; public event EventHandler`1<ExportsChangeEventArgs> ExportsChanging;
public Lazy`1<T> GetExport(); public Lazy`1<T> GetExport();
public Lazy`1<T> GetExport(String contractName); public Lazy`1<T> GetExport(String contractName);
public Lazy`2<T, TMetadataView> GetExport(); public Lazy`2<T, TMetadataView> GetExport();
public Lazy`2<T, TMetadataView> GetExport(String contractName); public Lazy`2<T, TMetadataView> GetExport(String contractName);
public T GetExportedValue(); public T GetExportedValue();
public T GetExportedValue(String contractName); public T GetExportedValue(String contractName);
public T GetExportedValueOrDefault(); public T GetExportedValueOrDefault();
public T GetExportedValueOrDefault(String contractName); public T GetExportedValueOrDefault(String contractName);
public IEnumerable`1<T> GetExportedValues(); public IEnumerable`1<T> GetExportedValues();
public IEnumerable`1<T> GetExportedValues(String contractName); public IEnumerable`1<T> GetExportedValues(String contractName);
public IEnumerable`1<Export> GetExports(ImportDefinition definition); public IEnumerable`1<Export> GetExports(ImportDefinition definition);
public IEnumerable`1<Export> GetExports(ImportDefinition definition, AtomicComposition atomicComposition); public IEnumerable`1<Export> GetExports(ImportDefinition definition, AtomicComposition atomicComposition);
public IEnumerable`1<Lazy`2<Object, Object>> GetExports(Type type, Type metadataViewType, String contractName); public IEnumerable`1<Lazy`2<Object, Object>> GetExports(Type type, Type metadataViewType, String contractName);
public IEnumerable`1<Lazy`1<T>> GetExports(); public IEnumerable`1<Lazy`1<T>> GetExports();
public IEnumerable`1<Lazy`1<T>> GetExports(String contractName); public IEnumerable`1<Lazy`1<T>> GetExports(String contractName);
public IEnumerable`1<Lazy`2<T, TMetadataView>> GetExports(); public IEnumerable`1<Lazy`2<T, TMetadataView>> GetExports();
public IEnumerable`1<Lazy`2<T, TMetadataView>> GetExports(String contractName); public IEnumerable`1<Lazy`2<T, TMetadataView>> GetExports(String contractName);
  protected abstract virtual IEnumerable`1<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition);
  protected virtual void OnExportsChanged(ExportsChangeEventArgs e);
  protected virtual void OnExportsChanging(ExportsChangeEventArgs e);
public Boolean TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, out IEnumerable`1& exports); public Boolean TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, out IEnumerable`1& exports);

public class ExportsChangeEventArgs public class ExportsChangeEventArgs
: EventArgs : EventArgs
public IEnumerable`1<ExportDefinition> AddedExports { get; } public IEnumerable`1<ExportDefinition> AddedExports { get; }
public AtomicComposition AtomicComposition { get; } public AtomicComposition AtomicComposition { get; set; }
public IEnumerable`1<String> ChangedContractNames { get; } public IEnumerable`1<String> ChangedContractNames { get; }
public IEnumerable`1<ExportDefinition> RemovedExports { get; } public IEnumerable`1<ExportDefinition> RemovedExports { get; }

  public class FilteredCatalog
  : ComposablePartCatalog, IDisposable, INotifyComposablePartCatalogChanged
  public FilteredCatalog Complement { get; }
  public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;
  public virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;
  protected virtual void Dispose(Boolean disposing);
  public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);
  public FilteredCatalog IncludeDependencies();
  public FilteredCatalog IncludeDependencies(Func`2<ImportDefinition, Boolean> importFilter);
  public FilteredCatalog IncludeDependents();
  public FilteredCatalog IncludeDependents(Func`2<ImportDefinition, Boolean> importFilter);
  protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e);
  protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e);

public class ImportEngine public class ImportEngine
: ICompositionService, IDisposable : ICompositionService, IDisposable
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
public void PreviewImports(ComposablePart part, AtomicComposition atomicComposition); public void PreviewImports(ComposablePart part, AtomicComposition atomicComposition);
public void ReleaseImports(ComposablePart part, AtomicComposition atomicComposition); public void ReleaseImports(ComposablePart part, AtomicComposition atomicComposition);
public void SatisfyImports(ComposablePart part); public void SatisfyImports(ComposablePart part);
public virtual void SatisfyImportsOnce(ComposablePart part); public virtual void SatisfyImportsOnce(ComposablePart part);

public abstract interface INotifyComposablePartCatalogChanged public abstract interface INotifyComposablePartCatalogChanged
public abstract virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed; public abstract virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changed;
public abstract virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing; public abstract virtual event EventHandler`1<ComposablePartCatalogChangeEventArgs> Changing;

  public abstract sealed class ScopingExtensions
 
  static public Boolean ContainsPartMetadata(ComposablePartDefinition part, String key, T value);
  static public Boolean ContainsPartMetadataWithKey(ComposablePartDefinition part, String key);
  static public Boolean Exports(ComposablePartDefinition part, String contractName);
  static public FilteredCatalog Filter(ComposablePartCatalog catalog, Func`2<ComposablePartDefinition, Boolean> filter);
  static public Boolean Imports(ComposablePartDefinition part, String contractName);
  static public Boolean Imports(ComposablePartDefinition part, String contractName, ImportCardinality importCardinality);

public class TypeCatalog public class TypeCatalog
: ComposablePartCatalog, IDisposable, ICompositionElement : ComposablePartCatalog, IDisposable, ICompositionElement
public virtual IQueryable`1<ComposablePartDefinition> Parts { get; } public virtual IQueryable`1<ComposablePartDefinition> Parts { get; }
public virtual IEnumerable`1<Tuple`2<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition);  
  protected virtual void Dispose(Boolean disposing);
public virtual String ToString(); public virtual String ToString();