我使用实体框架,SQL Server 2000, Visual Studio 2008和企业库开发了一个应用程序。

它在本地工作得非常好,但是当我将项目部署到我们的测试环境时,我得到了以下错误:

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information Stack trace: at System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) at System.Reflection.Assembly.GetTypes() at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly(LoadingContext context) at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache(LoadingContext context) at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly, Boolean loadReferencedAssemblies, Dictionary2 knownAssemblies, Dictionary2& typesInLoading, List`1& errors) at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies) at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType(Type type) at System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType(Type type, Assembly callingAssembly) at System.Data.Objects.ObjectContext.CreateQuery[T](String queryString, ObjectParameter[] parameters)

实体框架似乎有问题,任何线索如何修复它?


当前回答

正如之前所提到的,通常情况下,组装不存在。

要确切地知道您丢失了什么程序集,请附加调试器,设置断点,当您看到异常对象时,钻到'LoaderExceptions'属性。丢失的程序集应该在那里。

希望能有所帮助!

其他回答

我在使用ASP时遇到了这个错误。NET 4 + SQL Server 2008 R2 +实体框架4应用程序。

它在我的开发机器(Windows Vista 64位)上工作得很好。然后,当部署到服务器(Windows server 2008 R2 SP1)时,它将一直工作到会话超时。因此,我们部署应用程序,一切看起来都很好,然后让它超过20分钟的会话超时,然后抛出这个错误。

为了解决这个问题,我使用Ken Cox博客上的代码来检索LoaderExceptions属性。

对于我的情况,缺失的DLL是Microsoft.ReportViewer.ProcessingObjectModel(版本10)。这个DLL需要安装在运行应用程序的机器的GAC中。您可以在微软下载站点上的Microsoft Report Viewer 2010 Redistributable Package中找到它。

点击“查看异常详细信息”检查此属性:

当我在其中一个项目上安装NuGet包而忘记更新另一个项目时,我遇到了这个问题。

我通过使两个项目具有相同的参考程序集来解决这个问题。

我正在通过FTP更新一个网站。我假设网站正在使用中,当尝试更新bin文件夹时,几个DLL文件必须被锁定并且没有更新。

在那里,我看到了错误500页,并将customErrors模式设置为关闭,看到了OP提到的错误消息。

问题是我没有看到FTP程序中列出的失败。我重试了那些失败的失败,他们上传。更新了最后一个DLL文件。于是这个网站就成功了。

我通过将项目引用的Copy Local属性设置为true来解决这个问题。