我使用Entity Framework 4开发了一个ASP.NET v4应用程序。我正在将它部署到测试服务器(安装了.NET Framework 4的Windows 2008 R2)。
应用程序抛出此错误:
[ReflectionTypeLoadException:无法使用 加载一个或多个请求的 类型。检索LoaderExceptions 物业了解更多信息。]
System.Reflection.RuntimeModule.GetTypes(RuntimeModule 模块)+0
System.Reflection.Assembly.GetTypes() +144 System.Data.Metadata.Edm.ObjectItemConventionAssemblyLoader.LoadTypesFromAssembly() +45 System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() +34 System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly,布尔值 loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData)+130
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(大会 assembly,布尔值 loadReferencedAssemblies, KnownAssembliesSet已知的组件, EdmItemCollection edmItemCollection, 动作1 logLoadMessage, Object& loaderCookie, Dictionary
2及 typesInLoading,List1& errors) +248
1 logLoadMessage)+580
System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies, EdmItemCollection edmItemCollection, Action
System.Data.Metadata.Edm.ObjectItemCollection.ImplicitLoadAssemblyForType(类型 type,EdmItemCollection edmItemCollection)+121
System.Data.Metadata.Edm.MetadataWorkspace.ImplicitLoadAssemblyForType(类型 type,Assembly callingAssembly)+178
System.Data.Objects.ObjectContext.GetTypeUsage(类型 entityCLRType)+49
System.Data.Objects.ObjectContext.CreateObjectSet(字符串 entitySetName)+163
PageManager.FetchDefaultPage() 114
当我查看我的开发PC时,我看到这个目录中有程序集:
C:\ Program Files(x86)\ Reference 组件\微软\ Framework.NETFramework \ V4.0
但是在服务器上缺少整个.NETFramework目录,只有一个v3.0和v3.5目录。我假设服务器正在使用其中一个目录中的程序集,这些目录是版本3.5.0.0而不是4.0.0.0(我的应用程序引用的内容)。
我需要安装什么?服务器上安装了.NET 4,我100%肯定。
答案 0 :(得分:0)
问题与.NET 4无关。我捕获了ReflectionTypeLoadException并循环了LoaderExceptions。缺少对Microsoft.SyncronisationFramework的引用。
也许在带有缺失引用列表的异常中的直接消息会很好。
答案 1 :(得分:-1)
我相信你的问题在这里得到解答:http://msdn.microsoft.com/en-us/library/cc656912.aspx