这个错误是偶发的,总是在不同的地方。通常在应用程序启动时显示。
完全错误:
System.Reflection.ReflectionTypeLoadException: 'Unable to load one or more of the requested types.
Could not load type 'Castle.Proxies.ProductionDataProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
Could not load type 'Castle.Proxies.Invocations.ProductionData_set_ProductionDataType' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.'
总是不同的类型,主要是在EFCore上下文中。有时在其他地方类型正在加载
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at BaseDbContext..ctor(DbContextOptions options)
at XXX.DatioContext..ctor(DbContextOptions`1 options) in
C:XXXDatioContext.cs:line 36
我的项目是。net 7项目,只有很少的托管服务和控制器。我不知道出了什么问题。这是。net 7的bug吗?
谢谢!
我解决了这个问题!
我用于实体框架配置的库试图搜索加载的程序集(从AppDomain)的某些接口。当它找到DynamicProxyGenAssembly2"并调用assembly.GetTypes(),则以上述异常结束。
这是零星的,因为AppDomain程序集只包含内存中的加载程序集,有时会出现"DynamicProxyGenAssembly2"加载,有时不加载
我希望这对那些和我有同样问题的人有帮助。