无法加载文件或程序集'AutoMapper,版本=13.0.0.0,系统找不到指定的文件

问题描述 投票:0回答:1

在我的 ASP.NET Core 6 Web API 中,我使用这些 Nuget 包:

AutoMapper ver-12.0.1
AutoMapper.Extensions.Microsoft.DependencyInjection ver-12.0.1

我删除了:

AutoMapper.Extensions.Microsoft.DependencyInjection ver-12.0.1

并将 AutoMapper 升级为:

AutoMapper ver-13.0.1

但是,我收到了这个错误:

未处理的异常。 System.IO.FileNotFoundException:无法加载文件或程序集“AutoMapper,版本= 13.0.0.0,文化=中性,PublicKeyToken = be96cd2c38ef1005”。系统找不到指定的文件。

文件名:'AutoMapper,版本=13.0.0.0,文化=中性,PublicKeyToken=be96cd2c38ef1005'

在 AutoMapperServiceExtension.ConfigureAutoMappers(IServiceCollection 服务)
在 C:\Program.cs 中的 Program.$(String[] args) 处:第 32 行

它指向:

builder.Services.ConfigureAutoMappers()

主要代码-扩展:

public static class AutoMapperServiceExtension
{
    public static void ConfigureAutoMappers(this IServiceCollection services)
    {
        services.AddAutoMapper(typeof(BankMapperProfile));
    }
}

实体映射器:

public class BankMapperProfile : Profile
{
    public BankMapperProfile() 
    {
        // ...
    }
}       

Program.cs

using API.Extensions;

var builder = WebApplication.CreateBuilder(args);
ConfigurationManager configuration = builder.Configuration;
var environment = builder.Environment;

// Add services to the container.
builder.Services.AddHttpContextAccessor();

builder.Services.AddMvc();
builder.Services.AddControllers().AddNewtonsoftJson(op => op.SerializerSettings.ReferenceLoopHandling
            = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
builder.Services.AddControllers()
    .AddFluentValidation(options =>
    {
        options.RegisterValidatorsFromAssembly(Assembly.GetExecutingAssembly());
    });

builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();

// Configure AutoMapper
builder.Services.ConfigureAutoMappers();

但我没有使用:AutoMapper,版本=13.0.0.0

请帮助解决错误

asp.net-core-webapi automapper
1个回答
0
投票

首先从参考中删除 Automapper 包,或卸载 AutoMapper ver-12.0.1 和 AutoMapper.Extensions.Microsoft.DependencyInjection ver-12.0.1

一旦删除,您应该从“包管理器控制台”安装它,在安装之前您需要选择项目,它会自动安装最新版本。

无需安装 - AutoMapper.Extensions.Microsoft.DependencyInjection 版本 12.0.1

同时安装 - Microsft.Extension.DepedencyInjection

通过包管理器控制台安装 Automapper

在您的 DI 注入静态类中添加此服务添加任何一个,两者都在同一进程上工作

services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());

(或) services.AddAutoMapper(typeof(MappingProfile));

在依赖类中添加服务

在 Program.cs 中注册您的 Automapper DI 注入服务

在program.cs中注册AutoMapper DI服务

一旦完成所有构建并运行

© www.soinside.com 2019 - 2024. All rights reserved.