在ASP.NET Web API自主应用程序中生成控制器

时间:2012-11-16 19:03:18

标签: visual-studio-2012 asp.net-web-api

Visual Studio 2012中的ASP.NET Web API项目模板是一个专门的MVC4项目,在创建了这样一个项目的实例后,右键单击“Controllers”文件夹会显示“Add>> Controller”菜单项。触发控制器生成器。 (脚手架)

另一方面,也可以在控制台应用程序中托管ASP.NET Web API服务器,该文档在自我主机应用程序的文档中调用。

http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api

我的问题是: 如果我正在开发自托管控制台应用程序,我该如何使用“Controller Scaffolding”?

2 个答案:

答案 0 :(得分:1)

仍然可以通过包管理器控制台支持脚手架,例如here

但MVC特定的“添加控制器”对话框确实是为MVC项目文件保留的。

但是,您可以强制您的自托管项目包含此对话框。

这可以通过在项目文件中添加一行来“欺骗”visual studio,使其认为您的自我主机应用程序是MVC应用程序。有关详细信息,请参阅此问题"Add Controller" / "Add View" in a hybrid MVC/WebForms ASP.NET application

如果你:

  1. 在项目根
  2. 下创建一个Controllers文件夹
  3. 右键单击您的自托管项目文件和“卸载项目”
  4. 右键单击您的自托管项目文件“编辑”
  5. 在Xml>下项目 - > PropertyGroup添加步骤
  6. 下显示的节点
  7. 保存
  8. 右键单击您的自我主机项目文件,单击重新加载项目

    <ProjectTypeGuids> 
        {E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
    </ProjectTypeGuids>
    
  9. 完成此操作后,您可以开始使用TT文件(脚手架)来使其更有用/特定于自我托管http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspx

答案 1 :(得分:0)

我认为目前不可能。此脚手架支持目前特定于MVC 4项目。