C# 同一域下的两个网站,安装了不同的EF包
我们有一个旧的asp.net MVC应用程序。它包含EF4X、MVC3等,并使用Oracle作为数据库引擎 作为新任务的一部分,我们需要用MVC5.2X、EF6.2X等重写该应用程序的几页 首先,我尝试将MVC和EF升级到最新版本,在那里我需要做很多更改才能将其升级到EF6X,因此我考虑为新的更改创建一个新的解决方案(将来我们将把所有页面更改为最新的堆栈)。我将旧站点托管到IIS中,并在其中添加了一个应用程序,该应用程序将指向我们的新解决方案 问题是旧的应用程序仍然使用EF4X,而新的应用程序使用6X,这导致定义了一个错误复制实体框架部分C# 同一域下的两个网站,安装了不同的EF包,c#,asp.net-mvc,entity-framework,iis,entity-framework-6,C#,Asp.net Mvc,Entity Framework,Iis,Entity Framework 6,我们有一个旧的asp.net MVC应用程序。它包含EF4X、MVC3等,并使用Oracle作为数据库引擎 作为新任务的一部分,我们需要用MVC5.2X、EF6.2X等重写该应用程序的几页 首先,我尝试将MVC和EF升级到最新版本,在那里我需要做很多更改才能将其升级到EF6X,因此我考虑为新的更改创建一个新的解决方案(将来我们将把所有页面更改为最新的堆栈)。我将旧站点托管到IIS中,并在其中添加了一个应用程序,该应用程序将指向我们的新解决方案 问题是旧的应用程序仍然使用EF4X,而新的应用程序
事实上,我需要使用这两个EF版本,旧版本用于旧项目,新版本用于新项目。有没有办法做到这一点,还是根本不可能 终于找到了同样的方法 我已经从子应用程序中删除了EF部分,并在runtime标记下的child app web.config中添加了一个依赖程序集 所以变化是 注释了应用程序web.config中的以下行
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
然后在runtime标记下添加以下部分
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
<bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
有趣的问题,我觉得我很快就会遇到。这有助于你解决问题吗?它正在设置应用程序的web.config中的位置。@KevinLamb我已经解决了这个问题,请查看我的答案以了解更多信息