Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 同一版本在IIS的不同服务器上显示不同的行为_.net_Asp.net Mvc 4_Visual Studio 2012_Iis 7.5_Windows Server 2008 R2 - Fatal编程技术网

.net 同一版本在IIS的不同服务器上显示不同的行为

.net 同一版本在IIS的不同服务器上显示不同的行为,.net,asp.net-mvc-4,visual-studio-2012,iis-7.5,windows-server-2008-r2,.net,Asp.net Mvc 4,Visual Studio 2012,Iis 7.5,Windows Server 2008 R2,我在两台不同的服务器上部署了一个应用程序。我使用Visual studio 2012进行了构建。两台服务器都使用IIS(版本7.5)。使用的操作系统是Windows 2008 R2。应用程序池.net framework是4。但部署在一台服务器上的生成运行正常。但另一台服务器上的生成在web.config本身中显示错误。错误与引用的程序集版本有关。例如: 程序集'System.Web.Mvc,版本=4.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35“使

我在两台不同的服务器上部署了一个应用程序。我使用Visual studio 2012进行了构建。两台服务器都使用IIS(版本7.5)。使用的操作系统是Windows 2008 R2。应用程序池.net framework是4。但部署在一台服务器上的生成运行正常。但另一台服务器上的生成在web.config本身中显示错误。错误与引用的程序集版本有关。例如:

程序集'System.Web.Mvc,版本=4.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35“使用”System.Web.webpage, 版本=2.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35' 其版本高于引用的程序集 'System.Web.WebPages,版本=1.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35'


任何人,请帮助我找出为什么仅在一台服务器上显示此错误,以及为什么在另一台服务器上工作正常。

这是因为您的两台服务器没有安装相同版本的ASP.NET MVC(根据使用的版本,我假设您在VS2012中创建了一个asp.net MVC4项目,asp.net MVC4安装在第一台服务器上,MVC3仅安装在第二台服务器上

  • 在第二台服务器上安装MVC4(从独立安装)
  • 通过将
    copyLocal
    设置为
    true
    (请参见此处),将必要的aspnet dll与dll一起部署到一旁
  • 或者,更好的方法是在项目中的Microsoft.AspNet.Mvc中添加一个nuget引用(
    安装包Microsoft.AspNet.Mvc-Version 4.0.40804
    ),这样部署将自动包括所有必要的dll

另外,您可能需要在web.config中进行一些绑定重定向,但我不认为这里是这样的

谢谢,Treziac。我已经检查了两台服务器。在一台服务器上都安装了MVC 3和MVC 4,但在另一台服务器上,只安装了MVC 3。该服务器是生产服务器。那么解决此问题的最佳解决方案是什么呢?我给出了s解决方案-最简单的方法是通过第二台服务器上的链接安装mvc4(选择独立安装)还有一个查询,在第一台服务器上安装了.net framework 4.7,在另一台服务器上安装了.net framework 4.5。这个因素会影响应用程序的部署吗?正如我已经说过的,第二台服务器是生产服务器,许多其他应用程序正在运行。如果我作为常规rul安装MVC 4,这些应用程序会影响吗e、 如果您不想遇到麻烦(比如现在),请在服务器之间始终保持一致的配置安装mvc4不会出现问题,但我不是100%有信心。您可以尝试其他两个选项中的一个。我已经尝试了其他两个选项。但它又出现了一些错误。希望安装mvc4能够解决问题。无论如何,感谢您的评论。它帮助我找出了错误的根本原因