上下文菜单添加控制器/查看丢失

我已经将ASP.NET MVC 4集成到现有的asp.net网站中。 这两个工作正常,但我没有看到任何菜单/快捷方式在Visual Studio IDE中创build控制器/视图。 那些仅适用于ASP.NET MVC模板?

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

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

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

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

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

步骤来更改GUID

  1. 在解决scheme资源pipe理器中右键单击项目
  2. 点击卸载项目
  3. 再次右键单击解决scheme资源pipe理器中的项目
  4. 编辑projectfolder / projectname.csproj
  5. Chagne GUID
  6. 右键单击并select“重新加载项目”

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

 {E3E379DF-F4C6-4180-9B81-6769533ABE47}; {E53F8FEA-EAE0-44A6-8774-FFD645390401}; 

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

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

在一开始。 其他guid将无法正常工作。

答案2是正确的错误的指导

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

是VS2010中MVC所需要的

通过右键单击解决scheme资源pipe理器中的项目,您需要卸载项目,编辑项目,使用下面的图表更改标记,然后重新加载项目。 将相应的GUID粘贴到csproj文件的列表的前面。

不同版本的MVC的不同GUID:

 ASP.NET MVC 1 {603C0E0B-DB56-11DC-BE95-000D561079B0} ASP.NET MVC 2 {F85E285D-A4E0-4152-9332-AB1D724D3325} ASP.NET MVC 3 {E53F8FEA-EAE0-44A6-8774-FFD645390401} ASP.NET MVC 4 {E3E379DF-F4C6-4180-9B81-6769533ABE47} ASP.NET MVC 5 {349C5851-65DF-11DA-9384-00065B846F21} 

什么都不要做,只需更新您的MVC项目。 在你的Nuget Package Manager控制台中触发这个命令。

更新程序包Microsoft.AspNet.Mvc

当我打开MVC项目的网站时,我遇到了同样的问题。 我重新打开解决scheme,通过打开 – >项目,这个function正常工作。

我知道这是一个旧的post,但我只是遇到了MVC 5项目VS2013和VS2012之间的切换。 我遇到的问题是我使用的MVC模板版本没有从Visual Studio更新中安装。 VS2012之后没有出现MVC5,因此VS2012需要更新才能添加模板。 与我想象的VS2010和MVC4一样。

无论如何,从微软下载更新解决了我的问题,因为当另一个版本打开并保存该项目,使用上述修复程序时,它将再次消失。

这里是VS2012 MVC5更新的链接。 确保你下载并安装了Tools update和VS插件。

http://www.microsoft.com/en-us/download/details.aspx?id=41532

VS2015相同的问题,帮助改变ProjectTypeGuids内容:

 {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 

你是对的。 这些上下文菜单选项的存在是项目types/模板特定的。

对于旧版本

 {F85E285D-A4E0-4152-9332-AB1D724D3325} 

对于我来说,它是从我预计它存在的地方(在菜单的顶部显示,当你右键点击一个视图文件夹,然后点击“添加”),但我发现它在“新build从模板'! 我已经重新安装,我想这是因为它(也是Visual Studio 2012):

在这里输入图像说明

我在VS2012上,并尝试了Dimitrov的答案(添加一个特定的GUID到项目文件的ProjectTypeGuids)。 虽然这确实给了我控制器操作丢失的上下文菜单,但是我在我的Razor页面上丢失了intellisense。

事实certificate,我错过了我正在处理的MVC项目版本的VS工具,安装这个工具(而不是编辑项目文件)解决了我的问题。

下载ASP.NET和Web Tools 2013.1 for Visual Studio 2012的页面

我从以下博客文章中find了这个下载链接:

宣布发布用于Visual Studio 2012的ASP.NET和Web Tools 2013.1

当所有其他的失败(在重新安装VS2015之前)你可能想重置VScaching。 这工作对我来说(修理后 – 不干扰GUIDS)。 只要删除此链接中提及的文件夹中的内容(大约需要30秒),然后执行该命令。 这需要10秒钟。 重新启动VS,你会看到VS中的第一个用户的屏幕。 它像一个魅力工作。

http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/09/15/if-you-have-problems-with-tfs-or-visual-studio-flush-the-user-cache-或者,not.aspx

当您刚刚从代码存储库中检出新解决scheme时,也会出现此问题,并且NuGet包(包括Microsoft.AspNet.Mvc)尚未下载。 重build解决scheme可以解决问题。

VS2012上下文菜单添加控制器/查看丢失

在VS2012&MVC4中尝试unistall Web API 5.2在PM中:

 UnInstall-Package Microsoft.AspNet.WebApi