gpt4 book ai didi

c# - CreateMap 抛出异常

转载 作者:行者123 更新时间:2023-12-02 21:50:43 25 4
gpt4 key购买 nike

您好,我正在尝试将 AutoMapper 添加到我的应用程序中,但我在集成中似乎遇到了一些问题。这是我到目前为止所拥有的。

为了不创建对 Automapper 的直接依赖,我为其最基本的功能创建了一个简单的映射:

public class AutoMapper : IAutoMapper
{
public void CreateMap<TFrom, TTo>()
{
Mapper.CreateMap<TFrom, TTo>();
}

public TTo Map<TFrom, TTo>(TFrom data)
{
return Mapper.Map<TFrom, TTo>(data);
}
}

我已经创建了一个配置文件:

 public class AutoMapperConfig
{
private readonly IAutoMapper mapper;

public AutoMapperConfig(IAutoMapper mapper)
{
this.mapper = mapper;
}

public void RegisterMappings()
{
mapper.CreateMap<ProductDTO , ProductDataContract>();
}
}

并在我的 Global.Asax 中添加了一个调用:

new AutoMapperConfig(new AutoMapper()).RegisterMappings();

我想创建一个映射,这两个对象之间:

public class ProductDTO
{
public int ProductId { get; set; }
public int CategoryId { get; set; }
public int SubcategoryId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Description { get; set; }
public string ImagePath { get; set; }
public int NumberOfProducts { get; set; }
}

public class ProductDataContract
{
public int ProductId { get; set; }
public int CategoryId { get; set; }
public int SubcategoryId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Description { get; set; }
public string ImagePath { get; set; }
public int NumberOfProducts { get; set; }
}

在我的代码中,我放置了这一行用于测试目的:
var 产品 = ProductCatalogService.GetProducts(); ProductDTO ceva = products.FirstOrDefault(); var productsDataContract = mapper.Map(ceva);

问题是,当我运行我的应用程序时,在尝试 CreateMap 时,我立即在 Automapper 中遇到异常。这是类型初始化异常消息:

This type is not supported on this platform IDictionaryFactory

我做错了什么?

最佳答案

这听起来像 reference issue 。您应该有对 AutoMapper.dll 的引用并且您项目中的 AutoMapper.Net4.dll。如果您通过 nuget 安装,则应该注意这一点。

AutoMapper 3.0 中针对不同平台的软件包发生了变化。

关于c# - CreateMap 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18675743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com