ArkaSoftware.Extensions.ObjectMappers.AutoMapper 2.0.0

dotnet add package ArkaSoftware.Extensions.ObjectMappers.AutoMapper --version 2.0.0
                    
NuGet\Install-Package ArkaSoftware.Extensions.ObjectMappers.AutoMapper -Version 2.0.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="ArkaSoftware.Extensions.ObjectMappers.AutoMapper" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ArkaSoftware.Extensions.ObjectMappers.AutoMapper" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ArkaSoftware.Extensions.ObjectMappers.AutoMapper" />
                    
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 ArkaSoftware.Extensions.ObjectMappers.AutoMapper --version 2.0.0
                    
#r "nuget: ArkaSoftware.Extensions.ObjectMappers.AutoMapper, 2.0.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 ArkaSoftware.Extensions.ObjectMappers.AutoMapper@2.0.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=ArkaSoftware.Extensions.ObjectMappers.AutoMapper&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ArkaSoftware.Extensions.ObjectMappers.AutoMapper&version=2.0.0
                    
Install as a Cake Tool

ArkaSoftware.Extensions.ObjectMappers.AutoMapper

A wrapper and DI-friendly adapter for AutoMapper in ASP.NET Core applications with dynamic profile loading and integrated logging support.


๐Ÿš€ Features

  • โœ… Automatic profile loading from referenced assemblies
  • โœ… Configurable via IConfiguration or code
  • โœ… Logs every map operation
  • โœ… Compatible with custom mappers via IMapperAdapter abstraction
  • โœ… Fully extensible and cleanly integrated with ASP.NET Core DI

๐Ÿ“ฆ Installation

dotnet add package ArkaSoftware.Extensions.ObjectMappers.AutoMapper

โš™๏ธ Configuration

1. appsettings.json

"AutoMapper": {
  "AssmblyNamesForLoadProfiles": "MyApp.Core,MyApp.Shared"
}

2. Registering in Program.cs

builder.Services.AddArkaSoftwareAutoMapperProfiles(
    builder.Configuration,
    "AutoMapper"
);

Or using direct options:

builder.Services.AddArkaSoftwareAutoMapperProfiles(option =>
{
    option.AssmblyNamesForLoadProfiles = "MyApp.Core,MyApp.Shared";
});

๐Ÿงฉ Usage

Inject and Use IMapperAdapter

public class UserService
{
    private readonly IMapperAdapter _mapper;

    public UserService(IMapperAdapter mapper)
    {
        _mapper = mapper;
    }

    public UserDto GetUserDto(UserEntity entity)
    {
        return _mapper.Map<UserEntity, UserDto>(entity);
    }
}

๐Ÿ›  How It Works

๐Ÿ”ง AutoMapperServiceCollectionExtensions

Loads AutoMapper profiles from specified assemblies using:


services.AddAutoMapper(assemblies).AddSingleton<IMapperAdapter, AutoMapperAdapter>();

๐Ÿง  IMapperAdapter

A lightweight abstraction for your service layer, allowing easy swapping/mocking of mapping logic.


๐Ÿงช Logging

  • Every call to .Map<TSource, TDestination> is logged with:

  • Source/target types

  • Serialized data preview (if needed)

  • Adapter lifecycle startup


๐Ÿงผ Clean Separation of Concerns

With IMapperAdapter, your service or application logic no longer depends directly on AutoMapper.


๐Ÿข Maintained by

ArkaSoftware
๐Ÿ“ง Email Us
๐ŸŒ Web Site Visit

Product Compatible and additional computed target framework versions.
.NET 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. 
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
2.0.0 275 4/16/2025
1.0.1 224 7/5/2024
1.0.0 216 4/17/2024