我已将ASP.NET MVC 4集成到现有的asp.net网站中。两者都工作正常,但我没有看到任何菜单/快捷方式在visual studio IDE中创建控制器/视图。那些只适用于ASP.NET MVC模板吗?
答案 0 :(得分:111)
那些只适用于ASP.NET MVC模板吗?
是的,但你可以作弊。 Visual Studio显示这些快捷方式的方式是查看项目类型,如果它看到它是一个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特定的上下文菜单。
答案 1 :(得分:32)
步骤更改GUID
在<ProjectTypeGuids>
标记中,在开头
{E3E379DF-F4C6-4180-9B81-6769533ABE47};
{E53F8FEA-EAE0-44A6-8774-FFD645390401};
答案 2 :(得分:8)
对于使用MVC 5的用户,请添加此密钥
{E3E379DF-F4C6-4180-9B81-6769533ABE47};
在开头。其他指南不起作用。
答案 3 :(得分:6)
不做任何事只是更新您的MVC项目。在Nuget Package Manager控制台中触发此命令。
更新 - 打包Microsoft.AspNet.Mvc
答案 4 :(得分:3)
答案2是正确的只是错误的指导
{E53F8FEA-EAE0-44A6-8774-FFD645390401}
是VS2010中MVC所需要的
答案 5 :(得分:2)
右键单击解决方案资源管理器中的项目,您需要卸载项目,编辑项目,使用下面的图表更改标记,然后重新加载项目。 将相应的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}
答案 6 :(得分:1)
对我而言,它在我预期存在的地方丢失了(在菜单顶部显示右键单击视图文件夹并单击“添加”时),但后来我找到了它在“来自模板的新内容”下的子上下文菜单中!我已经重新安装了,我想这是因为它(也是Visual Studio 2012):
答案 7 :(得分:1)
我在VS2012上尝试了Dimitrov的答案(在项目文件的ProjectTypeGuids中添加了特定的GUID)。虽然这确实给了我控制器动作缺少的上下文菜单,但我在Razor页面上缺少intellisense。
事实证明我错过了我正在处理的MVC项目版本的VS工具,并且安装此工具(而不是编辑项目文件)解决了我的问题。
Download page for ASP.NET and Web Tools 2013.1 for Visual Studio 2012
我在以下博文中找到了这个下载链接:
Announcing release of ASP.NET and Web Tools 2013.1 for Visual Studio 2012
答案 8 :(得分:1)
与 VS2015 有同样的问题,帮助将ProjectTypeGuids内容更改为:
{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
答案 9 :(得分:1)
我知道这是一个老帖子,但我刚刚在VS2013和VS2012之间进行了一次MVC 5项目的切换。我遇到的问题是我使用的MVC模板的版本没有从Visual Studio更新中安装。 VS2012没有随附MVC5,因此VS2012需要更新才能添加模板。与我想象的VS2010和MVC4一样。
无论如何,从Microsoft下载更新解决了我的问题,因为当另一个版本打开并保存项目时,它会在使用上述修复时再次消失。
这是VS2012 MVC5更新的链接。确保下载并安装Tools更新和VS插件。
http://www.microsoft.com/en-us/download/details.aspx?id=41532
答案 10 :(得分:1)
当打开MVC项目作为网站时,我遇到了同样的问题。我通过Open重新打开了解决方案 - &gt;项目和此功能按预期工作。
答案 11 :(得分:0)
你是对的。这些上下文菜单选项的存在是项目类型/模板特定的。
答案 12 :(得分:0)
旧版
{F85E285D-A4E0-4152-9332-AB1D724D3325}
答案 13 :(得分:0)
当其他所有方法都失败时(重新安装VS2015之前),您可能需要重置VS缓存。这对我有用(修复后 - 不干涉GUIDS)。只需删除此链接中提到的文件夹中的内容(大约需要30秒),然后执行命令。这还需要10秒钟。重新启动VS,您将在VS中看到首次使用的用户的屏幕。它就像一个魅力。
答案 14 :(得分:0)
当您从代码存储库中检出解决方案的新副本并且尚未下载NuGet包(包括Microsoft.AspNet.Mvc)时,也会发生此问题。重建解决方案可以解决问题。
答案 15 :(得分:0)
以下是VS 2017对我有用的东西。
首先检查您是否能够创建一个新的空MVC项目。
如果没有-这意味着缺少某些组件。启动Visual Studio安装程序(typicall位于C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe
中,但是您只需点击“开始”并开始输入“ Visual Studio安装程序”)
单击“修改”,然后在选中所有现有组件的情况下重新运行它。
只需确保选中“ ASP.NET Web开发”。
答案 16 :(得分:0)
您可能已将项目作为文件夹类型打开,这限制了 Visual Studio IDE 限制某些 GUID 选项,因此请加载您的项目解决方案。
它应该可以工作。右键单击 ActionResult 或内部控制器后,添加视图或添加控制器应该可用。
答案 17 :(得分:-2)
VS2012上下文菜单添加控制器/查看缺失
在VS2012&amp; MVC4在PM中尝试unistall Web API 5.2:
UnInstall-Package Microsoft.AspNet.WebApi