ASP.Net MVC3安全升级导致程序集从3.0.0.0变为3.0.0.1

开发环境一般引用的是本机 C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies下的System.Web.Mvc.dll,当系统更新时,此文件会更新为高级版本,从而和已经部署到服务器上的System.Web.Mvc.dll版本不一致。从能在线上运行时报下面的错误:

Assembly ‘TestUnsafe, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null‘ uses ‘System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35‘ which has a higher version than referenced assembly ‘System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35‘

发现没?System.Web.MVC的版本要求是3.0.0.1,而bin里放的仍然是3.0.0.0,肯定跑不起来。

OK,换个新的程序集上去,把System.Web.MVC.dll 3.0.0.1版放上去,仍然跑不起来,报错:

Parser Error Message: Could not load file or assembly ‘System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35‘ or one of its dependencies. The located assembly‘s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

这是由于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-2.0.0.0" newVersion="3.0.0.0" />       </dependentAssembly>

</assemblyBinding>

</runtime>

调整oldVersion和newVersion,改成:

<runtime>     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">       <dependentAssembly>         <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />         <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.1" />       </dependentAssembly>     </assemblyBinding>   </runtime>

看到没?把旧版本的MVC统一映射到3.0.0.1版去。再访问站点,一切正常了。

时间: 2024-11-01 22:22:08

ASP.Net MVC3安全升级导致程序集从3.0.0.0变为3.0.0.1的相关文章

ASP.NET MVC3升级到ASP.NET MVC4 的方法

ASP.NET MVC3升级 ASP.NET MVC4 的方法: 1.先去掉引用的System.Web.Mvc.dll(MVC3版本),重新引入System.Web.Mvc.dll(MVC4版本) 2.替换项目 Web.config 中的 System.Web.Mvc, Version=3.0.0.0 System.Web.WebPages, Version=1.0.0.0 System.Web.Helpers, Version=1.0.0.0 System.Web.WebPages.Razor

Asp.Net MVC安全更新MS14-059导致项目编译失败

微软最近一次安全更新MS14-059(链接:https://technet.microsoft.com/en-us/library/security/ms14-059)由于直接应用到了machine.config,更新了有关Asp.Net MVC程序集版本的引用,导致引用了GAC的ASP.Net MVC3和4的项目编译出错,错误提示为: "Could not locate the assembly "System.Web.Mvc,Version=4.0.0.0, Culture=neu

Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi

Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3.4.5和WebApi(跨平台) 1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有了很多这方面的文章,故而我就想我是写还是不写呢,但是想来想去,我还是写一下吧,因为网上的文章太杂乱,不是最新版本,不是很整齐并且也可能会遇到各种各样的问题,所以我决定写一篇从

经典ASP.NET MVC3.0入门详解

http://blog.csdn.net/csh624366188/article/details/7064269 :由于本文原在word文档里编写,写本文章时运用了大量截图,直接复制到博客里,没有显示图片, 图片只是一些简单的运行结果截图,不影响大家学习 p.Net MVC已经到第三版了,相信大家也都熟悉了,我也不再重复相关概念性的东西了.但是大家一定要了解,Asp.Net MVC是微软的一 个开源的UI层框架,是AspNet的另外一种开发模式.好废话不多说,那我们开始进入Asp.Net MV

[ASP.NET MVC3] Razor Chart的使用总结

ASP.NET3为我们带来了很多新特性,其中ChartHelper相当给力,介绍一下程序集里图表的功能,这个chart使用简单,且前台不需引用js脚本文件,可使用缓存文件,数据源方式很多,比较方便. 图表的类型有以下很多种:   成员名称 说明   Point 点图类型.   FastPoint 快速点图类型.   Bubble 气泡图类型.   Line 折线图类型.   Spline 样条图类型.   StepLine 阶梯线图类型.   FastLine 快速扫描线图类型.   Bar 条

ASP.NET MVC3实战系列(一):简单示例

ASP.NET MVC已经推出时间不短了,已经有很多项目在使用这个优秀的WEB开发框架.因为我们项目每次加人的时候,对MVC都不是特别熟悉,有一些人认为这个非常 简单,导致写出来的程序完全不是MVC的,所以我就想写个系列总结一下实战中的经验和一些学习的笔记.我们先不谈论MVC的好处,等我们写过一些程序和示 例后,再回来谈. 首先,我们先用MVC写一个简单的ASP.NET MVC3的程序来简单的了解一下. 环境: VS2010 ASP.NET MVC3 在http://www.microsoft.

ASP.NET MVC3 系列教程 - 部署你的WEB应用到IIS 6.0

I:ASP.NET MVC3 部署的前期工作 1.确认部署的服务器操作系统环境 首先我们确认服务器的操作系统版本 可以从系统命令行工具里输入: systeminfo 获取相关操作系统信息例如 然后再确认IIS版本信息 -> 打开IIS管理工具即可 接着确认.NET Framework的版本 可以在系统命令行工具执行: cd /d %windir%\Microsoft.NET\Framework dir /O 2.选择部署方案 部署方案目前就个人而言,将归纳为 3 种方案 A:带源代码文件的部署方

ASP.NET MVC3 入门指南之数据验证[源码RAR下载]

http://www.cnblogs.com/BingoLee/archive/2011/12/23/2298822.html 前言: 无论你编写什么样的网页程序,都需要对用户的数据进行验证,以确数据的有效性和完整性. ASP.NET MVC3允许你采用一种被称之为“数据注释”的方式来进行数据验证,这种验证包含了客户端浏览器 和服务器端的双重验证.或许你会问为什么要进行两次验证?首先,客户端验证能够直接响应客户,减少了服务 器压力的同时还提高了用户体验,但是你永远不能信任来自客户端的信息(用户可

在ASP.NET MVC3项目中,自定义404错误页面

在Web开发中,用户体验是至关重要的,一个友好的网站自然少不了自定义404错误页面. 让笔者为大家介绍404错误页面在ASP.NET MVC3项目中的配置: 第一步,在项目的Web.config文件中找到节点<system.web> 在此节点下添加配置        <customErrors mode="On" defaultRedirect="~/Index/Error404">          <error statusCode