我在嘗試從程序集中獲取類型時遇到問題。嘗試獲取程序集類型時遇到反射錯誤
這裏是我的代碼:
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