gpt4 book ai didi

c# - CreateMap 抛出异常

转载 作者:行者123 更新时间:2023-12-02 04:51:52 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 products = 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