Transmitly.Microsoft.Extensions.DependencyInjection
0.3.0
dotnet add package Transmitly.Microsoft.Extensions.DependencyInjection --version 0.3.0
NuGet\Install-Package Transmitly.Microsoft.Extensions.DependencyInjection -Version 0.3.0
<PackageReference Include="Transmitly.Microsoft.Extensions.DependencyInjection" Version="0.3.0" />
<PackageVersion Include="Transmitly.Microsoft.Extensions.DependencyInjection" Version="0.3.0" />
<PackageReference Include="Transmitly.Microsoft.Extensions.DependencyInjection" />
paket add Transmitly.Microsoft.Extensions.DependencyInjection --version 0.3.0
#r "nuget: Transmitly.Microsoft.Extensions.DependencyInjection, 0.3.0"
#:package Transmitly.Microsoft.Extensions.DependencyInjection@0.3.0
#addin nuget:?package=Transmitly.Microsoft.Extensions.DependencyInjection&version=0.3.0
#tool nuget:?package=Transmitly.Microsoft.Extensions.DependencyInjection&version=0.3.0
Transmitly.Microsoft.Extensions.DependencyInjection
Microsoft DI integration for Transmitly.
This package wraps Transmitly registration so ICommunicationsClient and core Transmitly factories are wired through IServiceCollection, allowing constructor injection in your Transmitly components.
What this package adds
- Registers
ICommunicationsClientso it can be resolved from Microsoft DI. - Bridges Transmitly factories to
IServiceProvider, including channel provider dispatcher resolution and:- platform identity resolvers
- content model enrichers
- platform identity profile enrichers
- Supports class-based configuration via
ICommunicationsClientConfigurator. - Supports swapping in a custom
ICommunicationsClientimplementation.
Install
dotnet add package Transmitly.Microsoft.Extensions.DependencyInjection
Quick Start
Use inline builder configuration:
using Transmitly;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddTransmitly(tly =>
{
// Configure channels, pipelines, templates, resolvers, enrichers, etc.
});
var app = builder.Build();
// Anywhere in your app:
var client = app.Services.GetRequiredService<ICommunicationsClient>();
DI-Backed Components
If a resolver/enricher has constructor dependencies, register the type in DI first.
builder.Services.AddSingleton<IMyDependency, MyDependency>();
builder.Services.AddTransient<MyIdentityResolver>();
builder.Services.AddTransient<MyContentModelEnricher>();
builder.Services.AddTransient<MyProfileEnricher>();
builder.Services.AddTransmitly(tly =>
{
tly.AddPlatformIdentityResolver<MyIdentityResolver>();
tly.AddContentModelEnricher<MyContentModelEnricher>();
tly.AddPlatformIdentityProfileEnricher<MyProfileEnricher>();
});
If these types are added to the Transmitly builder but not registered in DI, they may fail to resolve at dispatch time.
Class-Based Configuration
If you want the Transmitly setup itself to use DI dependencies, implement ICommunicationsClientConfigurator.
public sealed class MyTransmitlyConfigurator : ICommunicationsClientConfigurator
{
private readonly IOptions<MyTransmitlyOptions> _options;
public MyTransmitlyConfigurator(IOptions<MyTransmitlyOptions> options)
{
_options = options;
}
public void ConfigureClient(CommunicationsClientBuilder builder)
{
// Build Transmitly config using _options and other injected services.
}
}
Register it:
builder.Services.AddTransmitly<MyTransmitlyConfigurator>();
Custom Client Override
To provide your own ICommunicationsClient implementation:
builder.Services.AddTransmitly<MyTransmitlyConfigurator, MyCommunicationsClient>();
More Transmitly Docs
For full channel/pipeline/template configuration options, see the main Transmitly project.
Copyright (c) Code Impressions, LLC. This open-source project is sponsored and maintained by Code Impressions and is licensed under the Apache License, Version 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8)
- Transmitly (>= 0.3.0)
-
.NETFramework 4.8
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8)
- Transmitly (>= 0.3.0)
-
.NETStandard 2.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- Transmitly (>= 0.3.0)
-
net6.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
- Transmitly (>= 0.3.0)
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.7)
- Transmitly (>= 0.3.0)
-
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.7)
- Transmitly (>= 0.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0 | 98 | 3/25/2026 |
| 0.2.2-16.b75cea3 | 48 | 3/24/2026 |
| 0.2.2-15.afa4912 | 54 | 3/6/2026 |
| 0.2.2-14.4fb80bd | 69 | 2/20/2026 |
| 0.2.2-13.9f123f8 | 52 | 2/17/2026 |
| 0.2.2-12.85e6907 | 65 | 1/17/2026 |
| 0.2.2-4.e68f308 | 192 | 12/14/2025 |
| 0.2.2-3.723f4c8 | 116 | 12/14/2025 |
| 0.2.2-2.11f7421 | 144 | 8/17/2025 |
| 0.2.1 | 250 | 7/29/2025 |