をアップグレードした後に動作しない、私は私のnugetパッケージをアップグレードし、 https://www.nuget.org/packages/AutoMapper/AutoMapperは私のMVCプロジェクトのために5.1.1
それはIListのマッピングソースとしてサポートされていると言うからAutoMapperの最新版を得ました。 https://github.com/AutoMapper/AutoMapper/wiki/Lists-and-arrays
古いバージョンで動作していたので、設定セクションのみを更新しました。
構成は以下のとおりです。
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AutoMapperConfig.RegisterMappings();
}
}
public static void RegisterMappings()
{
Mapper.Initialize(cfg =>
{
cfg.CreateMap<RssNewDto, RssNewViewModel>();
});
}
// where I am trying to resolve
[HttpGet]
public IList<RssNewViewModel> ReadList()
{
// EXCEPTION
IList<RssNewViewModel> items2 = AutoMapper.Mapper.Map<IList<RssNewDto>, IList<RssNewViewModel>>(items);
return items2;
}
ERROR: AutoMapper.AutoMapperMappingException occurred
HResult=-2146233088 Message=Error mapping types. InnerException: HResult=-2146233088 Message=Missing type map configuration or unsupported mapping.
私は、設定上の何かが足りないのですか?
残りの例外メッセージは何ですか?欠落しているタイプ情報を含める必要があります。 –
@JimmyBogard私がMapperConfiguration.AssertConfigurationIsValidメソッドを呼び出すと、設定されていないすべての設定エラーがわかりました。私は、このメソッドはInitializeメソッドの後に内部的に呼び出されるべきだと考えています。人々はこのメソッドを呼び出すことを忘れる可能性があるので、無効なMapperが設定されている可能性があり、実行時にそれらを噛んでしまいます。 –
ああ、私は多くの人がそれをするのを見る。私はプロダクションでそれをやっているのかどうかはわかりませんが、私は少数派です。 –