Xpandables.Composition
10.0.2
dotnet add package Xpandables.Composition --version 10.0.2
NuGet\Install-Package Xpandables.Composition -Version 10.0.2
<PackageReference Include="Xpandables.Composition" Version="10.0.2" />
<PackageVersion Include="Xpandables.Composition" Version="10.0.2" />
<PackageReference Include="Xpandables.Composition" />
paket add Xpandables.Composition --version 10.0.2
#r "nuget: Xpandables.Composition, 10.0.2"
#:package Xpandables.Composition@10.0.2
#addin nuget:?package=Xpandables.Composition&version=10.0.2
#tool nuget:?package=Xpandables.Composition&version=10.0.2
System.Composition
MEF-based modular service composition for .NET dependency injection.
📖 Overview
System.Composition (NuGet: Xpandables.Composition) provides IAddServiceExport and MEF catalog types for discovering and registering services from external assemblies using the Managed Extensibility Framework (System.ComponentModel.Composition). Namespace: System.Composition.
Built for .NET 10 and C# 14.
✨ Features
| Type | File | Description |
|---|---|---|
IAddServiceExport |
IAddServiceExport.cs |
MEF export interface — decorate with [Export(typeof(IAddServiceExport))] |
EmptyCatalog |
ExportCatalogs.cs |
Empty ComposablePartCatalog |
RecursiveDirectoryCatalog |
ExportCatalogs.cs |
Recursively scans directories for assemblies containing exports |
⚙️ Dependency Injection
C# 14 extension members on IServiceCollection:
services.AddXServiceExports(configuration);
services.AddXServiceExports(configuration, options =>
{
options.SearchPattern = "*.dll";
options.Path = "/plugins";
});
📦 Installation
dotnet add package Xpandables.Composition
Dependencies: System.ComponentModel.Composition
Project References: Xpandables.Primitives
🚀 Quick Start
Define an Export
using System.ComponentModel.Composition;
using System.Composition;
[Export(typeof(IAddServiceExport))]
public class MyModuleExport : IAddServiceExport
{
public void AddServices(IServiceCollection services, IConfiguration configuration)
{
services.AddScoped<IMyService, MyService>();
}
}
Register at Startup
builder.Services.AddXServiceExports(builder.Configuration);
📄 License
Apache License 2.0 — Copyright © Kamersoft 2025
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.5)
- Microsoft.Extensions.Configuration.Json (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Primitives (>= 10.0.5)
- System.ComponentModel.Composition (>= 10.0.5)
- Xpandables.Primitives (>= 10.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Xpandables.Composition:
| Package | Downloads |
|---|---|
|
Xpandables.AspNetCore.Composition
AspNetCore Composition implementation. |
GitHub repositories
This package is not used by any popular GitHub repositories.