上下文菜单添加控制器/查看丢失
我已经将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
- 在解决scheme资源pipe理器中右键单击项目
- 点击卸载项目
- 再次右键单击解决scheme资源pipe理器中的项目
- 编辑projectfolder / projectname.csproj
- Chagne GUID
- 右键单击并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中的第一个用户的屏幕。 它像一个魅力工作。
当您刚刚从代码存储库中检出新解决scheme时,也会出现此问题,并且NuGet包(包括Microsoft.AspNet.Mvc)尚未下载。 重build解决scheme可以解决问题。
VS2012上下文菜单添加控制器/查看丢失
在VS2012&MVC4中尝试unistall Web API 5.2在PM中:
UnInstall-Package Microsoft.AspNet.WebApi