Asp.net Mvc2向Mvc3移植

一、首先把Mvc2的项目Unload掉。

二、右键编辑项目文件,项目文件中的{F85E285D-A4E0-4152-9332-AB1D724D3325}替换为{E53F8FEA-EAE0-44A6-8774-FFD645390401}.

原文件:

Capture

替换为:

Capture

三、修改对System.Web.Mvc.dll引用,把原来的2.0替换为Mvc3.0的版本。

四、把View文件夹的Web.Config替换为:

代码
<?xml version="1.0"?>

<configuration>
  
<configSections>
    
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    
</sectionGroup>
  
</configSections>

  
<system.web.webPages.razor>
    
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    
<pages pageBaseType="System.Web.Mvc.WebViewPage">
      
<namespaces>
        
<add namespace="System.Web.Mvc" />
        
<add namespace="System.Web.Mvc.Ajax" />
        
<add namespace="System.Web.Mvc.Html" />
        
<add namespace="System.Web.Routing" />
      
</namespaces>
    
</pages>
  
</system.web.webPages.razor>

  
<system.web>
    
<httpHandlers>
      
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    
</httpHandlers>

    
<!--
        Enabling request validation 
in view pages would cause validation to occur
        after the input has already been processed by the controller. By 
default
        MVC performs request validation before a controller processes the input.
        To change 
this behavior apply the ValidateInputAttribute to a
        controller or action.
    
-->
    
<pages
        validateRequest
="false"
        pageParserFilterType
="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType
="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType
="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      
<controls>
        
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      
</controls>
    
</pages>
  
</system.web>

  
<system.webServer>
    
<validation validateIntegratedModeConfiguration="false" />
    
    
<handlers>
      
<remove name="BlockViewHandler"/>
      
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    
</handlers>
  
</system.webServer>
</configuration>

 

可以新建一个Mvc3的项目把View文件夹下的Web.Config直接覆盖掉。
五、打开项目根目录下的Web.Config在Appsettings节点中增加如下节点:
<add key="enableSimpleMembership" value="false" />
<add key="ClientValidationEnabled" value="false" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
在System.Web/Assemblies节点中添加如下程序集的引用:
<add assembly="WebMatrix.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken="31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken="31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken="31BF3856AD364E35" />

六、保存项目文件,Reload一下项目。
posted @ 2010-10-18 08:56  Xiaoxiong  Views(1724)  Comments(1)    收藏  举报