我遇到的问题只显示EntityDataSource是否出现在ASP.NET(* .aspx)页面上。有趣的是,当我刷新页面( F5 )或再次查看它并且它让我发疯时,它似乎是Entity Framework的一个错误,因为我尝试了另一个项目,我得到同样的错误。
无法加载一个或多个请求的类型。检索LoaderExceptions属性以获取更多信息。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型。检索LoaderExceptions属性以获取更多信息。
堆栈追踪:
[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) +0
System.Reflection.RuntimeModule.GetTypes() +4
System.Reflection.Assembly.GetTypes() +78
System.Data.Metadata.Edm.ObjectItemConventionAssemblyLoader.LoadTypesFromAssembly() +32
System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() +25
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData) +160
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage, Object& loaderCookie, Dictionary`2& typesInLoading, List`1& errors) +166
System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage) +316
System.Data.Metadata.Edm.ObjectItemCollection.ExplicitLoadFromAssembly(Assembly assembly, EdmItemCollection edmItemCollection, Action`1 logLoadMessage) +53
System.Data.Metadata.Edm.MetadataWorkspace.ExplicitLoadFromAssembly(Assembly assembly, ObjectItemCollection collection, Action`1 logLoadMessage) +93
System.Data.Metadata.Edm.MetadataWorkspace.LoadFromAssembly(Assembly assembly, Action`1 logLoadMessage) +130
System.Web.UI.WebControls.EntityDataSourceView.ConstructContext() +585
System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +76
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75
System.Web.UI.Control.EnsureChildControls() +102
System.Web.UI.Control.PreRenderRecursiveInternal() +42
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496
如何解决此问题?
答案 0 :(得分:6)
这是.NET 4.0中的一个错误,应该在.NET 4.5中修复。一种可能的解决方案是在引用上将“Copy local”设置为true并删除不需要的引用。
更多信息位于 Unable to load one or more of the requested types. Connected with EntityDataSource 。
答案 1 :(得分:3)
请参阅问题 Random 'Unable to load one or more of the requested types' Errors (588847):
EntityDataSource将尝试从所有引用的程序集加载所有类型,以便发现实体数据模型的所有实体类型。
使用其他答案的技巧确保所有DLL文件都设置为“复制本地”可能会有所帮助。否则,请尝试解决方法:将ContextTypeName
的{{1}}属性设置为实体容器类型的完全限定名称。
解决方法就是为我解决了这个问题。
答案 2 :(得分:2)
我遇到了同样的问题,发现它发生是因为生产环境缺少正确的DLL。您可以将项目引用的“复制本地”属性设置为“真”。
答案 3 :(得分:0)
我今天遇到了同样的问题,但仅限于生产服务器,而不是开发或测试(图)。我还在调查发生了什么,但我将生产服务器.NET Trust Level更改为高,问题就消失了......这显然是一个临时修复,但它总比没有好。我希望这会有所帮助。