实体框架:无法加载一个或多个请求的类型

时间:2012-11-01 12:00:16

标签: entity-framework

我得到一个特别的例外,我很困惑。我最近将我的应用程序的目标框架从.net Framework 4.0客户端配置文件更改为.net Framework 4.5。这显然导致我的实体框架变得有点乱。当我运行我的应用程序时,我得到了这个异常...

System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the
LoaderExceptions property for more information.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeModule.GetTypes()
   at System.Reflection.Assembly.GetTypes()
   at System.Data.EntityUtil.GetTypesSpecial(Assembly assembly)
   at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.LoadTypesFromAssembly()
   at System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load()
   at System.Data.Metadata.Edm.ObjectItemAttributeAssemblyLoader.Load()
   at System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData)

事情是,在我做出这个改变之前它已经习惯了......我设法搞砸了什么?我需要重新生成这些实体吗?如何解决问题并解决此问题?感谢。

1 个答案:

答案 0 :(得分:1)

调试此方法的两种方法:

  1. 在调试器中运行程序,打开break-on-unhandled异常,然后检查异常的LoaderExceptions属性,如消息所示。这应该可以让您了解哪种类型没有加载。

  2. 运行fuslogvw.exe并检查其中记录的故障。如果没有找到或无法加载程序集,它会告诉您哪一个,也可能是为什么。