7

我目前正在使用visual studio 2010和view engine作为MVC 2,作为ASPX种类的项目。将MVC 2 ASPX转换为MVC 4 Razor视图引擎

因此,我决定移动Visual Studio 2012与MVC 4和视图引擎剃刀

所以我可以达到以上任务。如果是这样如何?

我想听听您类似情况的体验。

注意:我的项目很大。

+3

我们将stackoverflow从MVC/aspx转换为MVC/cshtml - 它与“添加一些引用,编写一个新的默认布局(替换母版页),添加.cshtml文件”并无太大区别。 ASPX”。在大多数地方IIRC,我只是将.aspx重命名为.cshtml,然后解决了所有问题(我在.cshtml文件中运行了'<%' or '%>'全局搜索,它只是工作*。我认为我们复制了剃须刀的部分配置文件通过简单地创建一个新的剃刀项目,看看有什么不同 – 2013-05-04 14:29:50

+0

@MarcGravell你能解释一下更多关于“写一个新的默认布局(替换母版页)”吗? – Sampath 2013-05-04 14:38:55

+2

通常你会有一个'_ViewStart。 cshtml“,它将'Layout'分配给旧版主页的cshtml版本;例如,我们的'_ViewStart.cshtml'包含'Layout =”〜/ Views/Master.cshtml“;',其中'〜/ Views/Master.cshtml'是转换的标准页面模板 – 2013-05-04 14:45:40

回答

5

在Visual Studio 2012中创建一个新的MVC4项目,并将旧解决方案中的源文件一次添加到您的新解决方案中。使用新解决方案从MVC3转移到MVC4更容易,我必须想象,从2 - > 4进行就地升级会更加复杂。

从ASPX转换为Razor应该可以手动完成。虽然有转换器(如this one或代码,如this SO question中的接受答案),但我个人不会相信我的应用程序适用于纯自动化。

此外,我可能会一次转换一个。换句话说,首先从ASPX - > Razor或MVC2 - > MVC4转换,并确保一切工作与您的转换。然后转换另一个,以便如果遇到任何问题,则无需尝试确定是因为版本升级还是导致问题的语法升级。

+0

您能解释一下吗?“从ASPX转换成Razor必须手动完成。” ? – Sampath 2013-05-04 14:33:17

+0

我的意思是你必须将.an aspx扩展名中的每个文件转换为.cshtml扩展名,然后手动将文件中的标记从ASPX语法更改为Razor语法。 – Scott 2013-05-04 14:34:35

+0

@Sampath目前你有一堆aspx文件; aspx和cshtml具有不同的语法(对于不仅仅是HTML标记的位)。所以:有人(又名“你”)需要通过并在每个视图中更改代码 – 2013-05-04 14:46:49