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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Transmitly.Microsoft.Extensions.DependencyInjection" Version="0.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Transmitly.Microsoft.Extensions.DependencyInjection" Version="0.3.0" />
                    
Directory.Packages.props
<PackageReference Include="Transmitly.Microsoft.Extensions.DependencyInjection" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Transmitly.Microsoft.Extensions.DependencyInjection --version 0.3.0
                    
#r "nuget: Transmitly.Microsoft.Extensions.DependencyInjection, 0.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Transmitly.Microsoft.Extensions.DependencyInjection@0.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Transmitly.Microsoft.Extensions.DependencyInjection&version=0.3.0
                    
Install as a Cake Addin
#tool nuget:?package=Transmitly.Microsoft.Extensions.DependencyInjection&version=0.3.0
                    
Install as a Cake Tool

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 ICommunicationsClient so 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 ICommunicationsClient implementation.

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed