AutomapperTypeAdapterFactory.cs
var profiles = AppDomain.CurrentDomain .GetAssemblies() .SelectMany(a => a.GetTypes()) //出错的地方 .Where(t => t.BaseType == typeof(Profile)); Mapper.Initialize(cfg => { foreach (var item in profiles) { if (item.FullName != "AutoMapper.SelfProfiler`2") cfg.AddProfile(Activator.CreateInstance(item) as Profile); } });
每次执行到 .SelectMany(a => a.GetTypes())
就会出现下面的错误:
但奇怪的,如果这台计算机上安装了VS的话,就不会出现这个错误.
无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Reflection.ReflectionTypeLoadException: 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。
源错误:
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[ReflectionTypeLoadException: 无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性。]
System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) +0
System.Reflection.RuntimeModule.GetTypes() +9
System.Reflection.Assembly.GetTypes() +143
Da.Adapter.AutomapperTypeAdapterFactory.<.ctor>b__0(Assembly a) in D:\Prgs\AutomapperTypeAdapterFactory.cs:23
System.Linq.<SelectManyIterator>d__14`2.MoveNext() +267
System.Linq.WhereEnumerableIterator`1.MoveNext() +196
Da.Adapter.<>c__DisplayClass5.<.ctor>b__2(IConfiguration cfg) in D:\Prgs\AutomapperTypeAdapterFactory.cs:28
AutoMapper.Mapper.Initialize(Action`1 action) +202
Da.Adapter.AutomapperTypeAdapterFactory..ctor() in D:\Prgs\AutomapperTypeAdapterFactory.cs:26
DynamicInjector6e1e2e4e485c4d8db5c3f27e33d19325(Object[] ) +60
Ninject.Activation.Context.Resolve() +294
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +248
System.Linq.<CastIterator>d__b1`1.MoveNext() +296
System.Linq.Enumerable.Single(IEnumerable`1 source) +282
请问一下你这个问题解决了吗?
我也遇到一样的问题,请问你最后是怎么解决的
怎么解决的