2015-12-22 24 views
1

我将旧的MVC应用程序转移到新的环境中有问题。我没有太多的MVC经验。更新所有可能的库转移到旧的MVC应用程序的新环境

主要的web.config

<?xml version="1.0" encoding="utf-8"?> 

<configuration> 

<configSections> 



<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 





<appSettings> 

<add key="webpagesersion" value="3.0.0.0" /> 

<add key="webpages:Enabled" value="false" /> 

<add key="PreserveLoginUrl" value="true" /> 

<add key="ClientValidationEnabled" value="true" /> 

<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

<add key="AdminEmail" value="[email protected]" /> 

</appSettings> 

<system.web> 

<sessionState timeout="10" /> 

<httpRuntime maxRequestLength="2097151" maxQueryStringLength="2097151" /> 

<compilation debug="true" targetFramework="4.6.1"> 

<assemblies> 

<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, 31BF3856AD364E35=PublicKeyToken" /> 

<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

<add assembly="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

</assemblies> 

<runtime> 

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 

<dependentAssembly> 

<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 

</dependentAssembly> 

<dependentAssembly> 

<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 

<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 

</dependentAssembly> 

<dependentAssembly> 

<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 

<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 

</dependentAssembly> 

</assemblyBinding> 

</runtime> 

编译过程中_Layout.schtml开始后

@ { 

AdEfektWeb.Models.Rows.Row_users loggedUser = AdEfektWeb.Models.Logic.Auth.getUser (User.Identity.Name); 

} 

抛出一个错误信息:

无法加载文件或程序集'EntityFramework,Version = 4.1.0.0, Culture = neutral,PublicKeyToken = b77a5c56 1934e089'或其 依赖项之一。定位说明集与 程序集引用不匹配。 (异常来自HRESULT:0x80131040)

我不知道为什么odwołusie的座位版本4.1.0.0,如果它是一个参考versji 6.0.0。和一个运行版本= v4.0.30319

随着节日的感谢您的帮助。

+0

尝试重新安装'使用NuGet包管理器 –

+0

EntityFramework'您是否尝试过增加了运行时绑定重定向到你的web.config?某些软件包可能对EF 4.1具有依赖性,并且您已安装v6.0,因此重定向可能是必需的。如果您从头开始安装nuget包,则应该自动修复它,因为它会添加运行时重定向。 – Ruskin

+0

“升级”项目的最简单方法是使用提供的模板创建一个新的mvc项目,然后将所有旧的mvc代码和视图复制到新项目中。这样你就可以确定所有的基本/常用软件包和参考资料都在那里。 –

回答

1

尝试使用的NuGet控制台通过运行以下命令来更新包:

Update-Package 

上的更新包的命令不带任何参数都会更新每个 包。您可以使用ID 参数单独更新软件包。有关更新命令的更多信息,请运行get-help update-package。

更新MVC项目有点棘手,我建议使用指南,这是检查你是不是忘了什么东西的好地方 - http://www.asp.net/

当更新MVC 3至MVC 4您可以使用下面的链接 - Upgrading an ASP.NET MVC 3 Project to ASP.NET MVC 4

如果要更新MVC3到MVC5 - 一种方式是先升级到MVC 4,然后到MVC 5

但正如上面的链接提示:

最简单的升级方法是创建一个新的ASP.NET MVC 4项目 ,并将 现有MVC 3项目中的所有视图,控制器,代码和内容文件复制到新项目中,然后更新 新项目中的程序集引用与任何非MVC模板 相匹配,包括您正在使用的装配。如果您已对MVC 3项目中的 Web.config文件进行了更改,则还必须将这些更改合并到MVC 4项目中的Web.config文件中。

这也适用于MVC 5.

+0

从mvc升级3 – DanielZgodka

+0

从MVC 3升级到MVC 5? – gyosifov

相关问题