添加控制器/视图缺失的上下文菜单

use*_*065 56 asp.net asp.net-mvc visual-studio-2010 visual-studio asp.net-mvc-4

我已将ASP.NET MVC 4集成到现有的asp.net网站中.两者都工作正常,但我没有看到任何菜单/快捷方式在visual studio IDE中创建控制器/视图.那些只适用于ASP.NET MVC模板吗?

Dar*_*rov 112

那些只适用于ASP.NET MVC模板吗?

是的,但你可以作弊.Visual Studio显示这些快捷方式的方式是查看项目类型,如果它看到它是一个ASP.NET MVC项目,它将使它们可用.但它如何知道它是一个ASP.NET MVC项目?毕竟ASP.NET MVC是一个ASP.NET项目.

打开.csproj文件,查找<ProjectTypeGuids>ASP.NET MVC 4项目的节点.你会看到这样的东西:

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Run Code Online (Sandbox Code Playgroud)

现在打开.csproj常规ASP.NET项目的文件,只需将{E3E379DF-F4C6-4180-9B81-6769533ABE47}GUID作为列表中的第一项添加(如果你没有项目甚至不加载).就这样.现在,您将在WebForms项目中看到ASP.NET MVC特定的上下文菜单.

  • 适用于Visual Studio 2012 (2认同)
  • 只是把它扔出去 - 在VS2013上,我能够通过卸载项目然后重新加载项目来解决这个问题. - 我不必乱用ProjectTypeGuids. (2认同)
  • Visual Studio 2013 {E53F8FEA-EAE0-44A6-8774-FFD645390401}为我工作,但{E3E379DF-F4C6-4180-9B81-6769533ABE47}没有 (2认同)
  • 当我修改.csproj文件并添加GUID,然后重新加载项目时,Visual Studio将删除GUID.我假设Visual Studio认为GUID无效,这就是它决定删除它的原因.我正在使用Visual Studio 2012 (2认同)

Ali*_*avi 32

步骤更改GUID

  1. 右键单击解决方案资源管理器中的项目
  2. 单击卸载项目
  3. 再次右键单击解决方案资源管理器中的项目
  4. 编辑projectfolder/projectname.csproj
  5. Chagne GUID
  6. 右键单击并选择"重新加载项目"

<ProjectTypeGuids>标签中添加任何这些GUID

{E3E379DF-F4C6-4180-9B81-6769533ABE47};

{E53F8FEA-EAE0-44A6-8774-FFD645390401};
Run Code Online (Sandbox Code Playgroud)

  • 你需要查看http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs (2认同)
  • 对于MVC5,您需要添加:{E3E379DF-F4C6-4180-9B81-6769533ABE47}; (2认同)

Bjo*_*ove 9

对于使用MVC 5的用户,请添加此密钥

{E3E379DF-F4C6-4180-9B81-6769533ABE47}; 
Run Code Online (Sandbox Code Playgroud)

在开始.其他指南不起作用.


Jen*_*iya 7

什么都不做只是更新您的MVC项目.在Nuget Package Manager控制台中触发此命令.

更新 - 包装Microsoft.AspNet.Mvc