将计算机升级到mvc4并尝试部署mvc3应用程序时存在依赖关系问题

我有一个非常类似的问题: https : //stackoverflow.com/questions/11023923/how-to-fix-this-mvc-website-error-could-not-load-file-or-assembly-system-networking-H

同样确切的错误信息:

Could not load file or assembly 'System.Web.Helpers' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我知道这个问题与从mvc3升级到mvc4有关。 我的应用程序是mvc3,但我在我的电脑上安装了mvc4,导致某种依赖性问题。 为了解决这个问题,我必须在我的服务器上安装mvc4才能使其工作,但是由于我的mvc4安装中没有一个安装在服务器上, 有没有办法可以解决这个问题,所以我不必每次都安装mvc4? 或者让我的azure色的实例永久安装。 我开始部署时真的很痛苦。

您实际上不必在Azure VM中安装MVC运行时,因为只要您在Windows Azure应用程序中包含了所有的MVCx引用并将其设置为“Copy local as true”,则不需要执行此步骤。 将MVCx升级到MVCy最常见的问题是,有些时候一些引用没有正确configuration,引用不匹配发生,并且可以通过再次查看所有MVC特定引用属性来检查它们是否来自MVC4并设置为“复制本地”。

要检查您的Windows Azure应用程序中正确configuration了MVC4引用,我会build议:

  1. 创build一个“Hello World”Windows Azure MVC4应用程序
  2. 比较你的应用程序和“hello world”应用程序之间MVC4特定的引用属性是否有任何违规行为,如果你find了,请修复它(这应该足够了)
  3. 打包(CSPKG)的应用程序和解压到包,以确保所有的MVC具体引用在这两个包中的版本/大小是相同的(这是另一种设置在validation中,这是不需要的,但几分钟将为您节省很多麻烦以后你确定可以做到)