Adapter.Composition.Source 1.1.1301.1418

The provided ComposedAdapterService exports the IAdapterService interface, and "imports many" IAdapter implementations.
           
           Initialize your composition container so that it contains both the exported adapters and the adapter service, and it
           will be initialized automatically for use.
           
           ======= Example =======
           // Initialize container with your assemblies/types/catalogs
           CompositionContainer container = new CompositionContainer(catalog);
           
           // Retrieve initialized adapter service
           IAdapterService service = container.GetExportedValue<IAdapterService>();
           
           // Initialize the adapter facade with the service
           Adapters.SetService(service);
           
           // Use adapter extension method As as needed, i.e.            
           // say we need to use it as an MSBuild project, if possible
           IMSBuildProject msbuild = project.As<IMSBuildProject>();
           if (msbuild != null)
               // do MSBuild stuff with it.
               
           ======= Adapters =======
           [Export(typeof(IAdapter))]
           public class ProjectToMsBuildAdapter : IAdapter<IProject, IMSBuildProject>
           {
               // Implement actual conversion.
           }

           Simply by exporting the right contract, the adapter service will locate it.
           Note that to create adapter implementations, you need to install the Adapter.Sdk package.

Install-Package Adapter.Composition.Source -Version 1.1.1301.1418
dotnet add package Adapter.Composition.Source --version 1.1.1301.1418
<PackageReference Include="Adapter.Composition.Source" Version="1.1.1301.1418" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Adapter.Composition.Source --version 1.1.1301.1418
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

v1.1
* Additional support for source packages, like Adapter.Interfaces.Source,
 which also use token replacement and adopt the containing project
 root namespace.

v1.0
* Initial version, with support for flexible matching of from and to types
* Support for MEF in separate Adapter.Composition package
* Proper split of: Adapter.Interfaces, Adapter.Sdk and Adapter (implementation).

Dependencies

This package has no dependencies.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.1301.1418 239 1/14/2013
1.0.1301.1416 86 1/14/2013
1.0.1212.1016 81 12/10/2012
1.0.1212.616 84 12/6/2012