技术上讲,控制器只是放在控制器文件夹中的.CS文件,而视图只是放在视图文件夹中的.ASPX文件。 你的控制器类需要继承自基础Controller类,你的ASPX页面需要继承自System.Web.Mvc.ViewPage。
至于如何将这些项目添加到菜单中,请尝试打开您的项目文件,并将projecttypeguids标签替换为此标签。
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
我遇到了同样的问题,但我是从一个干净的Asp.Net MVC项目开始的。不知道为什么会发生这种情况。虽然我非常清楚控制器是什么(Harv),但我仍然希望自动生成上下文敏感菜单选项所提供的功能。根据Walther视频,在编辑控制器文件时,CS菜单未出现在“解决方案资源管理器”或文档窗口中。他只需右键单击Index方法,就会得到一个cs菜单选项来创建视图,添加视图对话框窗口。顺便说一句,我的项目GUID与您提供的GUID相同,所以这并没有帮助。
谢谢, Berlioz
仅更新您的MVC项目版本即可,使用Nuget包管理器控制台中的此命令。
Update-Package Microsoft.AspNet.Mvc
重新启动您的Visual Studio项目。
还要记得这一点。 为了解决此错误:
Attempt by security transparent method 'WebMatrix.WebData.PreApplicationStartCode.Start()'
安装-Package -Id Microsoft.AspNet.WebHelpers
我在使用Visual Studio Enterprise 2015 update1时遇到了这个问题,后来通过安装最新的更新解决了。
ASP.NET MVC 偏爱约定优于配置,因此除了 Harv 的答案之外,没有其他方法可以设置它。您必须右键单击名为 Controllers 和 Views 的文件夹才能获得这些选项。
projecttypeguid
是{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
。我从一个现有的工作的 MVC 应用程序中复制了它。我怀疑这只是由于不同版本的 MVC。 - mlsteeves