调试mvc的源代码

1、下载mvc的源代码

mvc2的源代码地址是:http://aspnet.codeplex.com/releases/view/41742

mvc3的源代码地址是:http://aspnet.codeplex.com/releases/view/58781

2、把源代码解压到程序根目录下

3、删除System.Web.Mvc引用

4、添加项目引用 mvc2-rtm-sources\src\SystemWebMvc 中的System.Web.Mvc.csproj

5、修改配置文件

根目录下的 Web.config

        <add assembly="System.Web.Mvc Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

改成

       <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />

 <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>

改成

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

Views下的web.config

    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null">
      <controls>
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
    </pages>

原文地址:https://www.cnblogs.com/50614090/p/2230518.html