我在尝试从程序集中获取类型时遇到问题。尝试获取程序集类型时遇到反射错误
这里是我的代码:
Assembly assembly = Assembly.Load(AssemblyName.GetAssemblyName(file.FullName));
Type type = assembly.GetTypes();
面对问题仅与下面的DLL。
EntityFramework.SqlServer.dll
Microsoft.AspNet.Identity.EntityFramework.dll
Microsoft.AspNet.Identity.Owin.dll
其他DLL工作正常。
例外:
assembly.GetTypes() 'assembly.GetTypes()' threw an exception of type 'System.Reflection.ReflectionTypeLoadException' System.Type[] {System.Reflection.ReflectionTypeLoadException}
能有人请让我知道什么可能是问题与这些DLL。 请提出一些解决办法。
也许您错过了程序集的依赖关系,或者您使用的是旧版本的.NET,并且程序集需要更新版本的.NET。 'Assembly.Load'完全加载并将程序集集成到正在运行的应用程序中。出于这个原因,像ILSpy这样的应用程序不使用反射,而是使用Mono.Cecil来加载程序集。 – xanatos