我已经在两个不同的服务器上部署了一个应用程序。我使用Visual Studio 2012进行了构建。两个服务器都使用IIS(版本7.5)。使用的操作系统是Windows 2008 R2。应用程序池.net框架是4。但部署在一台服务器上的构建工作正常。但是其他服务器中的构建在web.config本身中显示错误。错误是关于引用的程序集版本。例如:
Assembly'System.Web.Mvc,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35'使用'System.Web.WebPages, Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35' 其版本高于引用的程序集 'System.Web.WebPages,Version = 1.0.0.0,Culture = neutral, 公钥= 31bf3856ad364e35'
任何人,请帮助我找出为什么只在一台服务器上显示此错误以及为什么它在另一台服务器上正常工作。
答案 0 :(得分:1)
这是因为您的两台服务器没有安装相同版本的ASP.NET MVC(考虑到使用的版本,我假设您在VS2012中创建了一个asp.net MVC4项目,即ASP.NET MVC4安装在第一台服务器上,而MVC3仅安装在第二台服务器上。
copyLocal
设置为true
(请参阅此处:MVC4 minimum references)Install-Package Microsoft.AspNet.Mvc -Version 4.0.40804
),因此部署包括所有必需的dll自动此外,您可能需要在web.config中进行一些绑定重定向,但我不认为这是在这里的情况