同一域下的两个网站,安装了不同的 EF 包
Two websites under same domain, which has different EF package installed
我们有一个旧的 asp.net MVC 应用程序。其中包含 EF 4X、MVC3 等,它使用 Oracle 作为数据库引擎。
作为新任务的一部分,我们需要使用 MVC 5.2X、EF 6.2X 等重写此应用程序的几个页面。
首先我尝试将 MVC 和 EF 升级到最新版本,我需要做很多更改才能将其升级到 EF6X,所以我想为新的更改创建一个新的解决方案(将来我们会将所有页面更改为最新堆栈)。我已将旧站点托管到 IIS 中,并在其中添加了一个应用程序,它将指向我们的新解决方案。
问题是旧应用程序仍在使用 EF 4X,但新应用程序正在使用 6X,这会导致错误 Duplicate Entity Framework section is defined
事实上,我需要使用这两个 EF 版本,旧版本用于旧项目,新版本用于新项目。有什么办法可以做到这一点还是根本不可能?
终于找到了同样的方法。
我已经从子应用程序中删除了 EF 部分,并在运行时标记下的子应用程序 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>
<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>
我们有一个旧的 asp.net MVC 应用程序。其中包含 EF 4X、MVC3 等,它使用 Oracle 作为数据库引擎。
作为新任务的一部分,我们需要使用 MVC 5.2X、EF 6.2X 等重写此应用程序的几个页面。
首先我尝试将 MVC 和 EF 升级到最新版本,我需要做很多更改才能将其升级到 EF6X,所以我想为新的更改创建一个新的解决方案(将来我们会将所有页面更改为最新堆栈)。我已将旧站点托管到 IIS 中,并在其中添加了一个应用程序,它将指向我们的新解决方案。
问题是旧应用程序仍在使用 EF 4X,但新应用程序正在使用 6X,这会导致错误 Duplicate Entity Framework section is defined
事实上,我需要使用这两个 EF 版本,旧版本用于旧项目,新版本用于新项目。有什么办法可以做到这一点还是根本不可能?
终于找到了同样的方法。
我已经从子应用程序中删除了 EF 部分,并在运行时标记下的子应用程序 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>
<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>