gpt4 book ai didi

entity-framework - 降级EF 5.0.0.0-> 4.3.1.0后无法加载文件或程序集 'EntityFramework'

转载 作者:行者123 更新时间:2023-12-03 08:34:19 25 4
gpt4 key购买 nike

在匆忙升级到EF 5.0.0.0 RC并陷入无法部署到Windows Azure(.NET 4.0及更低版本)的.NET 4.5项目之后,我决定降级到EF 4.3.1.0。

我不确定执行此类型迁移的最佳方法,但是我的策略是使用“管理NuGet程序包”来识别哪些项目引用了该程序包,从每个项目中取消选中该程序包,安装替换项并重新检查正确的项目。

不幸的是,这样做之后,我的解决方案产生了名义上的“FileLoadException”。

Could not load file or assembly 'EntityFramework, Version=5.0.0.0, Culture=neutral,        
PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's
manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我在解决方案文件(特别是packages.config)中搜索了对EF 5.0.0.0 RC的引用,但找不到。

最佳答案

在尝试在repositories.config和其他地方找不到对EntityFramework的引用尝试失败之后,我偶然发现了Web.config中的引用,因为我正在对其进行编辑以帮助诊断。

bindingRedirect引用的5.0.0.0已不再安装,这似乎是异常的来源。老实说,我没有将此引用添加到Web.config,并且在尝试在一个单独的项目中重复该错误之后,发现NuGet软件包安装程序未添加该引用,因此,我不知道为什么在其中添加了一些内容它。

<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>

我决定将其替换为工作项目中的等效元素。注意:在以下内容中,对5.0.0.0的引用已被4.3.1.0取代:
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" />
</dependentAssembly>

这工作了!

然后,我决定完全删除EntityFramework的dependentAssembly引用。

它仍然有效!

因此,我将其作为一个自我回答的问题发布在这里,希望对其他人有所帮助。如果有人可以向我解释:
  • 是什么将EntityFramework的dependentAssembly添加到了我的Web.config中?
  • 删除这些引用的任何后果

  • 我很想学习。

    关于entity-framework - 降级EF 5.0.0.0-> 4.3.1.0后无法加载文件或程序集 'EntityFramework',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749175/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com