混合MVC和Webforms - 显示两个上下文菜单

时间:2015-02-10 00:52:27

标签: asp.net-mvc visual-studio-2010 webforms

我已将MVC4添加到Visual Studio 2010中的ASP.NET Webforms项目中。

我将.csproj的项目类型更改为MVC4项目的类型,如下所示: Context menu to Add Controller/View missing 给我MVC特定的上下文菜单。

现在,ASP.NET Webforms上下文菜单(例如添加'UserControl')已经消失。

我如何破解VS2010给我一个给定项目的MVC4和ASP.NET上下文菜单?

2 个答案:

答案 0 :(得分:3)

简而言之:不,这是不可能的(免责声明:我是微软的一名软件工程师,曾经在Visual Studio + Blend上工作,但现在是Internet Explorer)。

在Visual Studio中,项目只有一个类型,而且#34; ASP.NET Web应用程序" (WebForms)和" ASP.NET MVC Application" (ASP.NET MVC)是两种不同的项目类型 - 它们非常相似并且共享共同的功能,但仍然是不同的类型。

MVC项目类型在“添加新项目”对话框或上下文菜单中没有UserControls和其他项目,因为它们在很大程度上不相关,并且不会像您期望的那样工作(被授予,可能拥有WebForms(而不仅仅是使用.aspx文件作为视图)但我并不认为它是一个很好的应用程序设计决策。

非正式地...在“添加新项”对话框中显示的项目在注册表中指定。这里记录了这一点:https://msdn.microsoft.com/en-us/library/bb165141.aspx但是这些信息适用于新项目类型的开发人员,而不是允许用户自己修改(当然,如果我们发布另一个更新,您肯定会面临破坏VS的风险)对如何配置添加新项模板做出假设。

如果你想这样做 - 继续,但要小心,记下你所做的一切,这样你就可以撤消它。

答案 1 :(得分:0)

由于IDE基于单一模式工作,我们似乎有两种方式:

  1. 尝试使用在两个项目类型之间执行OR操作的配置,因此我们同时拥有这两个项目,但是需要缺少真正的功能:(
  2. 编写一些C ++代码行以立即更改配置(基于提示here),因此您可以在需要时运行切换器应用程序:)