2012-08-03 110 views
5

我有一个ASP.NET应用程序,它工作得很好,但它变得笨拙。我想将MVC3功能整合到任何新页面中,并逐渐转换所有旧页面。我打算使用Razor语法。将传统的ASP.NET应用程序转换为MVC3和HTML5

我有它的工作。我可以提供页面很好。这是一场战斗,但事情看起来不错。我相信我拥有所有的目录结构和引用的DLL。

我唯一真正的问题是与IDE:

我不能选择“添加控制器。”当我在控制器上的文件夹上单击右键。同上视图,和“添加区域...”从项目的右键菜单。

我无法添加与MVC3(或MVC2,我也已安装)相关的模板项目。

我也无法验证HTML5(所有标记都是无效的),但我认为这是一个单独的问题,因为此功能在我的MVC3项目上也不起作用。

我甚至都不知道如果这些东西对于作为MVC3项目创建的项目(使用Razor语法)无法正常工作,那么它就会丢失,因此它必须是解决方案或项目中特定的内容,但我无法在任何地方找到它。

我的问题: 我在哪里改变这个,以便IDE承认它是一个MVC项目?

回答

8

菜单没有到来的原因是Visual Studio IDE不认为这是一个真正的ASP.NET MVC项目,因为项目文件没有这样说。所以我们应该更新项目文件以包含ASP.NET MVC的项目类型guid,然后IDE将开始支持ASP.NET MVC类型项目的特定菜单。

步骤1

转到您的解决方案资源管理器和卸载通过右键单击现有的ASP.NET项目,选择“卸载项目”

enter image description here

步骤2

右键单击解决方案资源管理器中的项目,然后选择“编辑项目文件名”

enter image description here

步骤3

下面的条目添加到它的ProjectTypeGuids部分

{E53F8FEA-EAE0-44A6-8774-FFD645390401}; 

enter image description here

保存里面。重新加载项目,你现在会很好。

我在博客文章中明确解释了它here

+1

你是第一个订单的天才。我恭敬地恭维你的伟大。将它添加到ProjectTypeGuids标签确实将它切换为一个MVC应用程序。 – Jonathan 2012-08-03 14:36:24

+0

@Jonathan:很高兴我能帮上忙。现在享受美妙的MVC编程。 – Shyju 2012-08-03 14:37:31

+1

如果您对编辑项目文件犹豫不决,请注意,在将MVC2升级到MVC3项目时,Microsoft甚至会引导您完成此操作:http://www.asp.net/whitepapers/mvc3-release-notes#upgrading – 2013-05-01 19:50:37

相关问题