diff --git a/eng/Build.props b/eng/Build.props
index 30fde7b7a..dbff5db55 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -205,6 +205,8 @@
+
+
diff --git a/src/referencePackages/src/system.componentmodel.composition/7.0.0/System.ComponentModel.Composition.7.0.0.csproj b/src/referencePackages/src/system.componentmodel.composition/7.0.0/System.ComponentModel.Composition.7.0.0.csproj
new file mode 100644
index 000000000..4650ed564
--- /dev/null
+++ b/src/referencePackages/src/system.componentmodel.composition/7.0.0/System.ComponentModel.Composition.7.0.0.csproj
@@ -0,0 +1,10 @@
+
+
+
+ net6.0;net7.0;netstandard2.0
+ System.ComponentModel.Composition
+ 2
+ ECMA
+
+
+
diff --git a/src/referencePackages/src/system.componentmodel.composition/7.0.0/lib/net6.0/System.ComponentModel.Composition.cs b/src/referencePackages/src/system.componentmodel.composition/7.0.0/lib/net6.0/System.ComponentModel.Composition.cs
new file mode 100644
index 000000000..9162c3c06
--- /dev/null
+++ b/src/referencePackages/src/system.componentmodel.composition/7.0.0/lib/net6.0/System.ComponentModel.Composition.cs
@@ -0,0 +1,1056 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.ComponentModel.Composition.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
+[assembly: System.Reflection.AssemblyMetadata(".NETFrameworkAssembly", "")]
+[assembly: System.Reflection.AssemblyMetadata("Serviceable", "True")]
+[assembly: System.Reflection.AssemblyMetadata("PreferInbox", "True")]
+[assembly: System.Reflection.AssemblyDefaultAlias("System.ComponentModel.Composition")]
+[assembly: System.Resources.NeutralResourcesLanguage("en-US")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("This namespace provides classes that constitute the core of the Managed Extensibility Framework, or MEF.\r\n\r\nCommonly Used Types:\r\nSystem.ComponentModel.Composition.ChangeRejectedException\r\nSystem.ComponentModel.Composition.CompositionContractMismatchException\r\nSystem.ComponentModel.Composition.CompositionError\r\nSystem.ComponentModel.Composition.CompositionException\r\nSystem.ComponentModel.Composition.ExportAttribute\r\nSystem.ComponentModel.Composition.ImportAttribute\r\nSystem.ComponentModel.Composition.ImportCardinalityMismatchException\r\nSystem.ComponentModel.Composition.Hosting.AggregateCatalog\r\nSystem.ComponentModel.Composition.Hosting.ApplicationCatalog\r\nSystem.ComponentModel.Composition.Hosting.AssemblyCatalog\r\nSystem.ComponentModel.Composition.Hosting.CompositionContainer\r\nSystem.ComponentModel.Composition.Primitives.ComposablePartException\r\nSystem.ComponentModel.Composition.Primitives.ExportDefinition\r\nSystem.ComponentModel.Composition.Primitives.ImportDefinition\r\nSystem.ComponentModel.Composition.ReflectionModel.ReflectionModelServices")]
+[assembly: System.Reflection.AssemblyFileVersion("7.0.22.51805")]
+[assembly: System.Reflection.AssemblyInformationalVersion("7.0.0+d099f075e45d2aa6007a22b71b45a08758559f80")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® .NET")]
+[assembly: System.Reflection.AssemblyTitle("System.ComponentModel.Composition")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/runtime")]
+[assembly: System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Lazy<,>))]
+namespace System.ComponentModel.Composition
+{
+ public static partial class AdaptationConstants
+ {
+ public const string AdapterContractName = "System.ComponentModel.Composition.AdapterContract";
+ public const string AdapterFromContractMetadataName = "FromContract";
+ public const string AdapterToContractMetadataName = "ToContract";
+ }
+
+ public static partial class AttributedModelServices
+ {
+ public static Primitives.ComposablePart AddExportedValue(this Hosting.CompositionBatch batch, T exportedValue) { throw null; }
+
+ public static Primitives.ComposablePart AddExportedValue(this Hosting.CompositionBatch batch, string contractName, T exportedValue) { throw null; }
+
+ public static Primitives.ComposablePart AddPart(this Hosting.CompositionBatch batch, object attributedPart) { throw null; }
+
+ public static void ComposeExportedValue(this Hosting.CompositionContainer container, T exportedValue) { }
+
+ public static void ComposeExportedValue(this Hosting.CompositionContainer container, string contractName, T exportedValue) { }
+
+ public static void ComposeParts(this Hosting.CompositionContainer container, params object[] attributedParts) { }
+
+ public static Primitives.ComposablePart CreatePart(Primitives.ComposablePartDefinition partDefinition, object attributedPart) { throw null; }
+
+ public static Primitives.ComposablePart CreatePart(object attributedPart, Reflection.ReflectionContext reflectionContext) { throw null; }
+
+ public static Primitives.ComposablePart CreatePart(object attributedPart) { throw null; }
+
+ public static Primitives.ComposablePartDefinition CreatePartDefinition(Type type, Primitives.ICompositionElement? origin, bool ensureIsDiscoverable) { throw null; }
+
+ public static Primitives.ComposablePartDefinition CreatePartDefinition(Type type, Primitives.ICompositionElement? origin) { throw null; }
+
+ public static bool Exports(this Primitives.ComposablePartDefinition part, Type contractType) { throw null; }
+
+ public static bool Exports(this Primitives.ComposablePartDefinition part) { throw null; }
+
+ public static string GetContractName(Type type) { throw null; }
+
+ public static TMetadataView GetMetadataView(Collections.Generic.IDictionary metadata) { throw null; }
+
+ public static string GetTypeIdentity(Reflection.MethodInfo method) { throw null; }
+
+ public static string GetTypeIdentity(Type type) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part, Type contractType, Primitives.ImportCardinality importCardinality) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part, Type contractType) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part, Primitives.ImportCardinality importCardinality) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part) { throw null; }
+
+ public static Primitives.ComposablePart SatisfyImportsOnce(this ICompositionService compositionService, object attributedPart, Reflection.ReflectionContext reflectionContext) { throw null; }
+
+ public static Primitives.ComposablePart SatisfyImportsOnce(this ICompositionService compositionService, object attributedPart) { throw null; }
+ }
+
+ [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false, Inherited = true)]
+ public partial class CatalogReflectionContextAttribute : Attribute
+ {
+ public CatalogReflectionContextAttribute(Type reflectionContextType) { }
+
+ public Reflection.ReflectionContext CreateReflectionContext() { throw null; }
+ }
+
+ public partial class ChangeRejectedException : CompositionException
+ {
+ public ChangeRejectedException() { }
+
+ public ChangeRejectedException(Collections.Generic.IEnumerable? errors) { }
+
+ public ChangeRejectedException(string? message, Exception? innerException) { }
+
+ public ChangeRejectedException(string? message) { }
+
+ public override string Message { get { throw null; } }
+ }
+
+ public partial class CompositionContractMismatchException : Exception
+ {
+ public CompositionContractMismatchException() { }
+
+ protected CompositionContractMismatchException(Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context) { }
+
+ public CompositionContractMismatchException(string? message, Exception? innerException) { }
+
+ public CompositionContractMismatchException(string? message) { }
+ }
+
+ public partial class CompositionError
+ {
+ public CompositionError(string? message, Primitives.ICompositionElement? element, Exception? exception) { }
+
+ public CompositionError(string? message, Primitives.ICompositionElement? element) { }
+
+ public CompositionError(string? message, Exception? exception) { }
+
+ public CompositionError(string? message) { }
+
+ public string Description { get { throw null; } }
+
+ public Primitives.ICompositionElement? Element { get { throw null; } }
+
+ public Exception? Exception { get { throw null; } }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class CompositionException : Exception
+ {
+ public CompositionException() { }
+
+ public CompositionException(Collections.Generic.IEnumerable? errors) { }
+
+ public CompositionException(string? message, Exception? innerException) { }
+
+ public CompositionException(string? message) { }
+
+ public Collections.ObjectModel.ReadOnlyCollection Errors { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public Collections.ObjectModel.ReadOnlyCollection RootCauses { get { throw null; } }
+ }
+
+ public enum CreationPolicy
+ {
+ Any = 0,
+ Shared = 1,
+ NonShared = 2
+ }
+
+ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true, Inherited = false)]
+ public partial class ExportAttribute : Attribute
+ {
+ public ExportAttribute() { }
+
+ public ExportAttribute(string? contractName, Type? contractType) { }
+
+ public ExportAttribute(string? contractName) { }
+
+ public ExportAttribute(Type? contractType) { }
+
+ public string? ContractName { get { throw null; } }
+
+ public Type? ContractType { get { throw null; } }
+ }
+
+ public partial class ExportFactory
+ {
+ public ExportFactory(Func> exportLifetimeContextCreator) { }
+
+ public ExportLifetimeContext CreateExport() { throw null; }
+ }
+
+ public partial class ExportFactory : ExportFactory
+ {
+ public ExportFactory(Func> exportLifetimeContextCreator, TMetadata metadata) : base(default!) { }
+
+ public TMetadata Metadata { get { throw null; } }
+ }
+
+ public sealed partial class ExportLifetimeContext : IDisposable
+ {
+ public ExportLifetimeContext(T value, Action disposeAction) { }
+
+ public T Value { get { throw null; } }
+
+ public void Dispose() { }
+ }
+
+ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface, AllowMultiple = true, Inherited = false)]
+ public sealed partial class ExportMetadataAttribute : Attribute
+ {
+ public ExportMetadataAttribute(string? name, object? value) { }
+
+ public bool IsMultiple { get { throw null; } set { } }
+
+ public string Name { get { throw null; } }
+
+ public object? Value { get { throw null; } }
+ }
+
+ public partial interface ICompositionService
+ {
+ void SatisfyImportsOnce(Primitives.ComposablePart part);
+ }
+
+ [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]
+ public partial class ImportAttribute : Attribute
+ {
+ public ImportAttribute() { }
+
+ public ImportAttribute(string? contractName, Type? contractType) { }
+
+ public ImportAttribute(string? contractName) { }
+
+ public ImportAttribute(Type? contractType) { }
+
+ public bool AllowDefault { get { throw null; } set { } }
+
+ public bool AllowRecomposition { get { throw null; } set { } }
+
+ public string? ContractName { get { throw null; } }
+
+ public Type? ContractType { get { throw null; } }
+
+ public CreationPolicy RequiredCreationPolicy { get { throw null; } set { } }
+
+ public ImportSource Source { get { throw null; } set { } }
+ }
+
+ public partial class ImportCardinalityMismatchException : Exception
+ {
+ public ImportCardinalityMismatchException() { }
+
+ protected ImportCardinalityMismatchException(Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context) { }
+
+ public ImportCardinalityMismatchException(string? message, Exception? innerException) { }
+
+ public ImportCardinalityMismatchException(string? message) { }
+ }
+
+ [AttributeUsage(AttributeTargets.Constructor, AllowMultiple = false, Inherited = false)]
+ public partial class ImportingConstructorAttribute : Attribute
+ {
+ }
+
+ [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false, Inherited = false)]
+ public partial class ImportManyAttribute : Attribute
+ {
+ public ImportManyAttribute() { }
+
+ public ImportManyAttribute(string? contractName, Type? contractType) { }
+
+ public ImportManyAttribute(string? contractName) { }
+
+ public ImportManyAttribute(Type? contractType) { }
+
+ public bool AllowRecomposition { get { throw null; } set { } }
+
+ public string? ContractName { get { throw null; } }
+
+ public Type? ContractType { get { throw null; } }
+
+ public CreationPolicy RequiredCreationPolicy { get { throw null; } set { } }
+
+ public ImportSource Source { get { throw null; } set { } }
+ }
+
+ public enum ImportSource
+ {
+ Any = 0,
+ Local = 1,
+ NonLocal = 2
+ }
+
+ [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = true, Inherited = true)]
+ public partial class InheritedExportAttribute : ExportAttribute
+ {
+ public InheritedExportAttribute() { }
+
+ public InheritedExportAttribute(string? contractName, Type? contractType) { }
+
+ public InheritedExportAttribute(string? contractName) { }
+
+ public InheritedExportAttribute(Type? contractType) { }
+ }
+
+ public partial interface IPartImportsSatisfiedNotification
+ {
+ void OnImportsSatisfied();
+ }
+
+ [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
+ public sealed partial class MetadataAttributeAttribute : Attribute
+ {
+ }
+
+ [AttributeUsage(AttributeTargets.Interface, AllowMultiple = false, Inherited = false)]
+ public sealed partial class MetadataViewImplementationAttribute : Attribute
+ {
+ public MetadataViewImplementationAttribute(Type? implementationType) { }
+
+ public Type? ImplementationType { get { throw null; } }
+ }
+
+ [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class PartCreationPolicyAttribute : Attribute
+ {
+ public PartCreationPolicyAttribute(CreationPolicy creationPolicy) { }
+
+ public CreationPolicy CreationPolicy { get { throw null; } }
+ }
+
+ [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
+ public sealed partial class PartMetadataAttribute : Attribute
+ {
+ public PartMetadataAttribute(string? name, object? value) { }
+
+ public string Name { get { throw null; } }
+
+ public object? Value { get { throw null; } }
+ }
+
+ [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class PartNotDiscoverableAttribute : Attribute
+ {
+ }
+}
+
+namespace System.ComponentModel.Composition.Hosting
+{
+ public partial class AggregateCatalog : Primitives.ComposablePartCatalog, INotifyComposablePartCatalogChanged
+ {
+ public AggregateCatalog() { }
+
+ public AggregateCatalog(Collections.Generic.IEnumerable? catalogs) { }
+
+ public AggregateCatalog(params Primitives.ComposablePartCatalog[]? catalogs) { }
+
+ public Collections.Generic.ICollection Catalogs { get { throw null; } }
+
+ public event EventHandler? Changed { add { } remove { } }
+
+ public event EventHandler? Changing { add { } remove { } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e) { }
+
+ protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e) { }
+ }
+
+ public partial class AggregateExportProvider : ExportProvider, IDisposable
+ {
+ public AggregateExportProvider(Collections.Generic.IEnumerable? providers) { }
+
+ public AggregateExportProvider(params ExportProvider[]? providers) { }
+
+ public Collections.ObjectModel.ReadOnlyCollection Providers { get { throw null; } }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ protected override Collections.Generic.IEnumerable GetExportsCore(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition) { throw null; }
+ }
+
+ public partial class ApplicationCatalog : Primitives.ComposablePartCatalog, Primitives.ICompositionElement
+ {
+ public ApplicationCatalog() { }
+
+ public ApplicationCatalog(Primitives.ICompositionElement definitionOrigin) { }
+
+ public ApplicationCatalog(Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public ApplicationCatalog(Reflection.ReflectionContext reflectionContext) { }
+
+ string Primitives.ICompositionElement.DisplayName { get { throw null; } }
+
+ Primitives.ICompositionElement? Primitives.ICompositionElement.Origin { get { throw null; } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class AssemblyCatalog : Primitives.ComposablePartCatalog, Primitives.ICompositionElement
+ {
+ public AssemblyCatalog(Reflection.Assembly assembly, Primitives.ICompositionElement definitionOrigin) { }
+
+ public AssemblyCatalog(Reflection.Assembly assembly, Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public AssemblyCatalog(Reflection.Assembly assembly, Reflection.ReflectionContext reflectionContext) { }
+
+ public AssemblyCatalog(Reflection.Assembly assembly) { }
+
+ public AssemblyCatalog(string codeBase, Primitives.ICompositionElement definitionOrigin) { }
+
+ public AssemblyCatalog(string codeBase, Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public AssemblyCatalog(string codeBase, Reflection.ReflectionContext reflectionContext) { }
+
+ public AssemblyCatalog(string codeBase) { }
+
+ public Reflection.Assembly Assembly { get { throw null; } }
+
+ string Primitives.ICompositionElement.DisplayName { get { throw null; } }
+
+ Primitives.ICompositionElement? Primitives.ICompositionElement.Origin { get { throw null; } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class AtomicComposition : IDisposable
+ {
+ public AtomicComposition() { }
+
+ public AtomicComposition(AtomicComposition? outerAtomicComposition) { }
+
+ public void AddCompleteAction(Action completeAction) { }
+
+ public void AddRevertAction(Action revertAction) { }
+
+ public void Complete() { }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ public void SetValue(object key, object? value) { }
+
+ public bool TryGetValue(object key, out T value) { throw null; }
+
+ public bool TryGetValue(object key, bool localAtomicCompositionOnly, out T value) { throw null; }
+ }
+
+ public partial class CatalogExportProvider : ExportProvider, IDisposable
+ {
+ public CatalogExportProvider(Primitives.ComposablePartCatalog catalog, bool isThreadSafe) { }
+
+ public CatalogExportProvider(Primitives.ComposablePartCatalog catalog, CompositionOptions compositionOptions) { }
+
+ public CatalogExportProvider(Primitives.ComposablePartCatalog catalog) { }
+
+ public Primitives.ComposablePartCatalog Catalog { get { throw null; } }
+
+ public ExportProvider? SourceProvider { get { throw null; } set { } }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ protected override Collections.Generic.IEnumerable GetExportsCore(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition) { throw null; }
+ }
+
+ public static partial class CatalogExtensions
+ {
+ public static CompositionService CreateCompositionService(this Primitives.ComposablePartCatalog composablePartCatalog) { throw null; }
+ }
+
+ public partial class ComposablePartCatalogChangeEventArgs : EventArgs
+ {
+ public ComposablePartCatalogChangeEventArgs(Collections.Generic.IEnumerable addedDefinitions, Collections.Generic.IEnumerable removedDefinitions, AtomicComposition? atomicComposition) { }
+
+ public Collections.Generic.IEnumerable AddedDefinitions { get { throw null; } }
+
+ public AtomicComposition? AtomicComposition { get { throw null; } }
+
+ public Collections.Generic.IEnumerable RemovedDefinitions { get { throw null; } }
+ }
+
+ public partial class ComposablePartExportProvider : ExportProvider, IDisposable
+ {
+ public ComposablePartExportProvider() { }
+
+ public ComposablePartExportProvider(bool isThreadSafe) { }
+
+ public ComposablePartExportProvider(CompositionOptions compositionOptions) { }
+
+ public ExportProvider? SourceProvider { get { throw null; } set { } }
+
+ public void Compose(CompositionBatch batch) { }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ protected override Collections.Generic.IEnumerable? GetExportsCore(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition) { throw null; }
+ }
+
+ public partial class CompositionBatch
+ {
+ public CompositionBatch() { }
+
+ public CompositionBatch(Collections.Generic.IEnumerable? partsToAdd, Collections.Generic.IEnumerable? partsToRemove) { }
+
+ public Collections.ObjectModel.ReadOnlyCollection PartsToAdd { get { throw null; } }
+
+ public Collections.ObjectModel.ReadOnlyCollection PartsToRemove { get { throw null; } }
+
+ public Primitives.ComposablePart AddExport(Primitives.Export export) { throw null; }
+
+ public void AddPart(Primitives.ComposablePart part) { }
+
+ public void RemovePart(Primitives.ComposablePart part) { }
+ }
+
+ public static partial class CompositionConstants
+ {
+ public const string ExportTypeIdentityMetadataName = "ExportTypeIdentity";
+ public const string GenericContractMetadataName = "System.ComponentModel.Composition.GenericContractName";
+ public const string GenericParametersMetadataName = "System.ComponentModel.Composition.GenericParameters";
+ public const string ImportSourceMetadataName = "System.ComponentModel.Composition.ImportSource";
+ public const string IsGenericPartMetadataName = "System.ComponentModel.Composition.IsGenericPart";
+ public const string PartCreationPolicyMetadataName = "System.ComponentModel.Composition.CreationPolicy";
+ }
+
+ public partial class CompositionContainer : ExportProvider, ICompositionService, IDisposable
+ {
+ public CompositionContainer() { }
+
+ public CompositionContainer(CompositionOptions compositionOptions, params ExportProvider[]? providers) { }
+
+ public CompositionContainer(params ExportProvider[]? providers) { }
+
+ public CompositionContainer(Primitives.ComposablePartCatalog? catalog, bool isThreadSafe, params ExportProvider[]? providers) { }
+
+ public CompositionContainer(Primitives.ComposablePartCatalog? catalog, CompositionOptions compositionOptions, params ExportProvider[]? providers) { }
+
+ public CompositionContainer(Primitives.ComposablePartCatalog? catalog, params ExportProvider[]? providers) { }
+
+ public Primitives.ComposablePartCatalog? Catalog { get { throw null; } }
+
+ public Collections.ObjectModel.ReadOnlyCollection Providers { get { throw null; } }
+
+ public void Compose(CompositionBatch batch) { }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ protected override Collections.Generic.IEnumerable? GetExportsCore(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition) { throw null; }
+
+ public void ReleaseExport(Primitives.Export export) { }
+
+ public void ReleaseExport(Lazy export) { }
+
+ public void ReleaseExports(Collections.Generic.IEnumerable exports) { }
+
+ public void ReleaseExports(Collections.Generic.IEnumerable> exports) { }
+
+ public void ReleaseExports(Collections.Generic.IEnumerable> exports) { }
+
+ public void SatisfyImportsOnce(Primitives.ComposablePart part) { }
+ }
+
+ [Flags]
+ public enum CompositionOptions
+ {
+ Default = 0,
+ DisableSilentRejection = 1,
+ IsThreadSafe = 2,
+ ExportCompositionService = 4
+ }
+
+ public partial class CompositionScopeDefinition : Primitives.ComposablePartCatalog, INotifyComposablePartCatalogChanged
+ {
+ protected CompositionScopeDefinition() { }
+
+ public CompositionScopeDefinition(Primitives.ComposablePartCatalog catalog, Collections.Generic.IEnumerable children, Collections.Generic.IEnumerable publicSurface) { }
+
+ public CompositionScopeDefinition(Primitives.ComposablePartCatalog catalog, Collections.Generic.IEnumerable children) { }
+
+ public virtual Collections.Generic.IEnumerable Children { get { throw null; } }
+
+ public virtual Collections.Generic.IEnumerable PublicSurface { get { throw null; } }
+
+ public event EventHandler? Changed { add { } remove { } }
+
+ public event EventHandler? Changing { add { } remove { } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e) { }
+
+ protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e) { }
+ }
+
+ public partial class CompositionService : ICompositionService, IDisposable
+ {
+ internal CompositionService() { }
+
+ public void Dispose() { }
+
+ public void SatisfyImportsOnce(Primitives.ComposablePart part) { }
+ }
+
+ public partial class DirectoryCatalog : Primitives.ComposablePartCatalog, INotifyComposablePartCatalogChanged, Primitives.ICompositionElement
+ {
+ public DirectoryCatalog(string path, Primitives.ICompositionElement definitionOrigin) { }
+
+ public DirectoryCatalog(string path, Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public DirectoryCatalog(string path, Reflection.ReflectionContext reflectionContext) { }
+
+ public DirectoryCatalog(string path, string searchPattern, Primitives.ICompositionElement definitionOrigin) { }
+
+ public DirectoryCatalog(string path, string searchPattern, Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public DirectoryCatalog(string path, string searchPattern, Reflection.ReflectionContext reflectionContext) { }
+
+ public DirectoryCatalog(string path, string searchPattern) { }
+
+ public DirectoryCatalog(string path) { }
+
+ public string FullPath { get { throw null; } }
+
+ public Collections.ObjectModel.ReadOnlyCollection LoadedFiles { get { throw null; } }
+
+ public string Path { get { throw null; } }
+
+ public string SearchPattern { get { throw null; } }
+
+ string Primitives.ICompositionElement.DisplayName { get { throw null; } }
+
+ Primitives.ICompositionElement? Primitives.ICompositionElement.Origin { get { throw null; } }
+
+ public event EventHandler? Changed { add { } remove { } }
+
+ public event EventHandler? Changing { add { } remove { } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e) { }
+
+ protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e) { }
+
+ public void Refresh() { }
+
+ public override string ToString() { throw null; }
+ }
+
+ public abstract partial class ExportProvider
+ {
+ public event EventHandler? ExportsChanged { add { } remove { } }
+
+ public event EventHandler? ExportsChanging { add { } remove { } }
+
+ public Lazy? GetExport() { throw null; }
+
+ public Lazy? GetExport(string? contractName) { throw null; }
+
+ public Lazy? GetExport() { throw null; }
+
+ public Lazy? GetExport(string? contractName) { throw null; }
+
+ public T? GetExportedValue() { throw null; }
+
+ public T? GetExportedValue(string? contractName) { throw null; }
+
+ public T? GetExportedValueOrDefault() { throw null; }
+
+ public T? GetExportedValueOrDefault(string? contractName) { throw null; }
+
+ public Collections.Generic.IEnumerable GetExportedValues() { throw null; }
+
+ public Collections.Generic.IEnumerable GetExportedValues(string? contractName) { throw null; }
+
+ public Collections.Generic.IEnumerable GetExports(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition) { throw null; }
+
+ public Collections.Generic.IEnumerable GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ public Collections.Generic.IEnumerable> GetExports(Type type, Type? metadataViewType, string? contractName) { throw null; }
+
+ public Collections.Generic.IEnumerable> GetExports() { throw null; }
+
+ public Collections.Generic.IEnumerable> GetExports(string? contractName) { throw null; }
+
+ public Collections.Generic.IEnumerable> GetExports() { throw null; }
+
+ public Collections.Generic.IEnumerable> GetExports(string? contractName) { throw null; }
+
+ protected abstract Collections.Generic.IEnumerable? GetExportsCore(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition);
+ protected virtual void OnExportsChanged(ExportsChangeEventArgs e) { }
+
+ protected virtual void OnExportsChanging(ExportsChangeEventArgs e) { }
+
+ public bool TryGetExports(Primitives.ImportDefinition definition, AtomicComposition? atomicComposition, out Collections.Generic.IEnumerable? exports) { throw null; }
+ }
+
+ public partial class ExportsChangeEventArgs : EventArgs
+ {
+ public ExportsChangeEventArgs(Collections.Generic.IEnumerable addedExports, Collections.Generic.IEnumerable removedExports, AtomicComposition? atomicComposition) { }
+
+ public Collections.Generic.IEnumerable AddedExports { get { throw null; } }
+
+ public AtomicComposition? AtomicComposition { get { throw null; } }
+
+ public Collections.Generic.IEnumerable ChangedContractNames { get { throw null; } }
+
+ public Collections.Generic.IEnumerable RemovedExports { get { throw null; } }
+ }
+
+ public partial class FilteredCatalog : Primitives.ComposablePartCatalog, INotifyComposablePartCatalogChanged
+ {
+ public FilteredCatalog(Primitives.ComposablePartCatalog catalog, Func filter) { }
+
+ public FilteredCatalog Complement { get { throw null; } }
+
+ public event EventHandler? Changed { add { } remove { } }
+
+ public event EventHandler? Changing { add { } remove { } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override Collections.Generic.IEnumerable> GetExports(Primitives.ImportDefinition definition) { throw null; }
+
+ public FilteredCatalog IncludeDependencies() { throw null; }
+
+ public FilteredCatalog IncludeDependencies(Func importFilter) { throw null; }
+
+ public FilteredCatalog IncludeDependents() { throw null; }
+
+ public FilteredCatalog IncludeDependents(Func importFilter) { throw null; }
+
+ protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e) { }
+
+ protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e) { }
+ }
+
+ public partial class ImportEngine : ICompositionService, IDisposable
+ {
+ public ImportEngine(ExportProvider sourceProvider, bool isThreadSafe) { }
+
+ public ImportEngine(ExportProvider sourceProvider, CompositionOptions compositionOptions) { }
+
+ public ImportEngine(ExportProvider sourceProvider) { }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ public void PreviewImports(Primitives.ComposablePart part, AtomicComposition? atomicComposition) { }
+
+ public void ReleaseImports(Primitives.ComposablePart part, AtomicComposition? atomicComposition) { }
+
+ public void SatisfyImports(Primitives.ComposablePart part) { }
+
+ public void SatisfyImportsOnce(Primitives.ComposablePart part) { }
+ }
+
+ public partial interface INotifyComposablePartCatalogChanged
+ {
+ event EventHandler? Changed;
+ event EventHandler? Changing;
+ }
+
+ public static partial class ScopingExtensions
+ {
+ public static bool ContainsPartMetadata(this Primitives.ComposablePartDefinition part, string key, T value) { throw null; }
+
+ public static bool ContainsPartMetadataWithKey(this Primitives.ComposablePartDefinition part, string key) { throw null; }
+
+ public static bool Exports(this Primitives.ComposablePartDefinition part, string contractName) { throw null; }
+
+ public static FilteredCatalog Filter(this Primitives.ComposablePartCatalog catalog, Func filter) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part, string contractName, Primitives.ImportCardinality importCardinality) { throw null; }
+
+ public static bool Imports(this Primitives.ComposablePartDefinition part, string contractName) { throw null; }
+ }
+
+ public partial class TypeCatalog : Primitives.ComposablePartCatalog, Primitives.ICompositionElement
+ {
+ public TypeCatalog(Collections.Generic.IEnumerable types, Primitives.ICompositionElement definitionOrigin) { }
+
+ public TypeCatalog(Collections.Generic.IEnumerable types, Reflection.ReflectionContext reflectionContext, Primitives.ICompositionElement definitionOrigin) { }
+
+ public TypeCatalog(Collections.Generic.IEnumerable types, Reflection.ReflectionContext reflectionContext) { }
+
+ public TypeCatalog(Collections.Generic.IEnumerable types) { }
+
+ public TypeCatalog(params Type[] types) { }
+
+ string Primitives.ICompositionElement.DisplayName { get { throw null; } }
+
+ Primitives.ICompositionElement? Primitives.ICompositionElement.Origin { get { throw null; } }
+
+ protected override void Dispose(bool disposing) { }
+
+ public override Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+}
+
+namespace System.ComponentModel.Composition.Primitives
+{
+ public abstract partial class ComposablePart
+ {
+ public abstract Collections.Generic.IEnumerable ExportDefinitions { get; }
+ public abstract Collections.Generic.IEnumerable ImportDefinitions { get; }
+
+ public virtual Collections.Generic.IDictionary Metadata { get { throw null; } }
+
+ public virtual void Activate() { }
+
+ public abstract object? GetExportedValue(ExportDefinition definition);
+ public abstract void SetImport(ImportDefinition definition, Collections.Generic.IEnumerable exports);
+ }
+
+ public abstract partial class ComposablePartCatalog : Collections.Generic.IEnumerable, Collections.IEnumerable, IDisposable
+ {
+ public virtual Linq.IQueryable Parts { get { throw null; } }
+
+ public void Dispose() { }
+
+ protected virtual void Dispose(bool disposing) { }
+
+ public virtual Collections.Generic.IEnumerator GetEnumerator() { throw null; }
+
+ public virtual Collections.Generic.IEnumerable> GetExports(ImportDefinition definition) { throw null; }
+
+ Collections.IEnumerator Collections.IEnumerable.GetEnumerator() { throw null; }
+ }
+
+ public abstract partial class ComposablePartDefinition
+ {
+ public abstract Collections.Generic.IEnumerable ExportDefinitions { get; }
+ public abstract Collections.Generic.IEnumerable ImportDefinitions { get; }
+
+ public virtual Collections.Generic.IDictionary Metadata { get { throw null; } }
+
+ public abstract ComposablePart CreatePart();
+ }
+
+ public partial class ComposablePartException : Exception
+ {
+ public ComposablePartException() { }
+
+ protected ComposablePartException(Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context) { }
+
+ public ComposablePartException(string? message, ICompositionElement? element, Exception? innerException) { }
+
+ public ComposablePartException(string? message, ICompositionElement? element) { }
+
+ public ComposablePartException(string? message, Exception? innerException) { }
+
+ public ComposablePartException(string? message) { }
+
+ public ICompositionElement? Element { get { throw null; } }
+
+ public override void GetObjectData(Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context) { }
+ }
+
+ public partial class ContractBasedImportDefinition : ImportDefinition
+ {
+ protected ContractBasedImportDefinition() { }
+
+ public ContractBasedImportDefinition(string contractName, string? requiredTypeIdentity, Collections.Generic.IEnumerable>? requiredMetadata, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite, CreationPolicy requiredCreationPolicy, Collections.Generic.IDictionary metadata) { }
+
+ public ContractBasedImportDefinition(string contractName, string? requiredTypeIdentity, Collections.Generic.IEnumerable>? requiredMetadata, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite, CreationPolicy requiredCreationPolicy) { }
+
+ public override Linq.Expressions.Expression> Constraint { get { throw null; } }
+
+ public virtual CreationPolicy RequiredCreationPolicy { get { throw null; } }
+
+ public virtual Collections.Generic.IEnumerable> RequiredMetadata { get { throw null; } }
+
+ public virtual string? RequiredTypeIdentity { get { throw null; } }
+
+ public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition) { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class Export
+ {
+ protected Export() { }
+
+ public Export(ExportDefinition definition, Func