Asp.net mvc ASP.Net MVC Web应用程序未运行
我开发了一个ASP.NETMVCV1Web应用程序,它在我们的服务器上运行良好。客户端希望移动到另一台服务器,而站点不在新主机的服务器上运行 新服务器规格:Asp.net mvc ASP.Net MVC Web应用程序未运行,asp.net-mvc,Asp.net Mvc,我开发了一个ASP.NETMVCV1Web应用程序,它在我们的服务器上运行良好。客户端希望移动到另一台服务器,而站点不在新主机的服务器上运行 新服务器规格: Windows 2008 Net框架v4 ASP.NETMVC2(afaik包括在.NETV4中) IIS 7.5(afaik) 错误消息: 无法加载文件或程序集“System.Web.Mvc,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”
- Windows 2008
- Net框架v4
- ASP.NETMVC2(afaik包括在.NETV4中)
- IIS 7.5(afaik)
非常感谢您的帮助。我认为最好的办法是在您的服务器上安装MVC 1.0,它与MVC 2.0是分开的。您也可以将代码迁移到2.0,但仍有一些步骤需要完成,而且两个版本之间存在一些突破性的更改。特别是,IValueProvider接口已经发生了显著的变化,如果您使用了它,您可能会遇到一些重大的修改。版本1.0和2.0是兼容的,因为它们都可以安装在同一个系统上,而且1.0中的大多数构造都可以在2.0中继续工作。但是,您必须完成几个步骤才能将1.0网站迁移到2.0网站(正如您所发现的)。我同意tvanfosson的观点,我会在您的服务器上安装MVC 1.0。如果由于某种原因无法执行此操作,请将以下内容添加到web.config文件中:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0"
newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
这将确保尝试引用MVC 1.0程序集的任何内容都将被重定向到MVC 2.0
就我个人而言,我不希望一切都能正常工作,我会首先在开发环境中这样做,作为MVC2.0全面升级的一部分。尝试根据v2 dll进行编译(将您的开发机器升级到MVC框架的服务器版本)另外,请尝试将新服务器上的应用程序池更改为“Classic ASP.NET”。我使用了s1mm0t的解决方案,至少站点现在正在运行,但现在存在路由问题。谢谢你的帮助。我无法访问服务器,因为主机处于偏执状态或其他状态。站点已启动并正在运行,路由问题是由应用程序池未设置为使用集成模式引起的。