Я пытаюсь использовать Auto Mapper на .Net Core 2.2.
Конфигурация:
services.AddAutoMapper(cfg =>
{
cfg.CreateMissingTypeMaps = false;
cfg.ReplaceMemberName("_", "");
cfg.ShouldMapProperty = pi => pi.PropertyType != typeof(List<>);
cfg.CreateMap<bool, string>().ConvertUsing(b => b ? "Y" : "N");
cfg.CreateMap<string, bool>().ConvertUsing(s => s == "Y");
cfg.CreateMap<NuCoreAppUser, APP_USER>()
.ForMember(d => d.APP_USER_ID, opt => opt.MapFrom(src => src.Id))
.ReverseMap();
};
Это только одно отображение для тестирования. Локально работает, но при развертывании в службе приложений Azure выдает:
ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'System.Web.IHttpModule' from assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.
System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
System.Reflection.RuntimeAssembly.get_DefinedTypes()
AutoMapper.ServiceCollectionExtensions+<>c.<AddAutoMapperClasses>b__14_2(Assembly a)
System.Linq.Enumerable+SelectManySingleSelectorIterator<TSource, TResult>.ToArray()
System.Linq.Enumerable.ToArray<TSource>(IEnumerable<TSource> source)
AutoMapper.ServiceCollectionExtensions.AddAutoMapperClasses(IServiceCollection services, Action<IServiceProvider, IMapperConfigurationExpression> configAction, IEnumerable<Assembly> assembliesToScan)
AutoMapper.ServiceCollectionExtensions.AddAutoMapper(IServiceCollection services, Action<IMapperConfigurationExpression> configAction)
NuCoreWebBase.Startup.ConfigureServices(IServiceCollection services) in Startup.cs
Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize()
Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Я нигде не могу найти ссылку на System.Web в своем приложении и не могу найти способ ограничить Auto Mapper от сканирования этой сборки.
Если я удалю Auto Mapper, все будет нормально развернуто.