0

Phase1 项目是在 Visual Studio 2010 中使用 Asp.net MVC3 开发的 Web 应用程序。现在我想用 Asp.net MVC4 继续我的下一阶段,也将项目转移到 visualstudio 2012 中。我需要集中精力进行哪些更改才能顺利进行更改,这是我现有的 web.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>
  <system.web>
    <httpRuntime encoderType="AntiXssEncoder, Projname" />
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
      </namespaces>
    </pages>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
    </staticContent>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <connectionStrings>
    <clear />
    <add name="ProjnameEntities" connectionString="metadata=res://*/Data.Projname.csdl|res://*/Data.Projname.ssdl|res://*/Data.Projname.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLexpress;initial catalog=projname;user id=**;password=******;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
4

1 回答 1

0

有一些工具可以迁移,但老实说,我觉得这总是一个容易出错的过程,如果你不知道它在做什么以及为什么,那么你可能会遇到问题。

我的建议是创建一个新的 MVC4 项目,然后简单地复制所有源文件并将它们重新添加到项目中。

我建议这样做的原因是,您对自己的项目的理解比对 MVC 在内部所做的事情的理解要好得多,因此您可以比 MVC 代码中的问题更快地解决代码中的任何问题(因为您没有正确进行迁移)。

我已经多次这样做了,通常只需要几分钟,而迁移问题可能需要几个小时。

于 2013-05-23T15:08:55.047 回答