gpt4 book ai didi

c# - 同一应用程序中的 Entity Framework 5 和 6

转载 作者:太空宇宙 更新时间:2023-11-03 21:37:45 25 4
gpt4 key购买 nike

我想在同一个项目中使用不同版本的 Entity Framework。?我有两个应用程序:-一个带 EF5-第二个使用 EF6 并引用第一个项目(那些使用 ef5 的项目)

现在我想在第二个中使用第一个中的方法。但是……

我有问题,因为当我从 ef5 应用程序运行方法时,它说:

无法加载文件或程序集“EntityFramework,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”或其依赖项之一。找到的程序集的 list 定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

如何在同一个工程中使用不同版本的EF dll?

建议?谢谢。

最佳答案

您不能将同一程序集的多个版本加载到单个应用程序域中。 .NET Framework 不支持它。您必须使用:

  • 在两个“应用程序”中使用单一版本的 EF - 如果您需要在第二个应用程序中使用来自第一个应用程序的 EF 依赖代码,这应该是正确的方法
  • 重构第一个应用程序并将您需要重用的所有方法移动到不依赖于 EF 的单独程序集中 - 如果您可以从 EF 中抽象代码,这应该是正确的方法
  • 从单独应用程序域中的第一个应用程序执行代码 - 不要使用这种方法。这就像在单个 Windows 进程中运行两个“.NET 进程”。您必须使用进程间通信在两个应用程序域之间传递数据。

通常还有用于绑定(bind)重定向的选项,但我担心它在这种情况下不起作用,因为 EF6 带来了太多破坏性更改。

关于c# - 同一应用程序中的 Entity Framework 5 和 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862408/

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