2

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

另一方面,也可以在控制台应用程序中托管 ASP.NET Web API 服务器,在文档中称为自托管应用程序。

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

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

4

2 回答 2

1

仍然通过包管理器控制台支持脚手架,例如这里

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

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

这可以通过在项目文件中添加一行来“欺骗”Visual Studio 使其认为您的自托管应用程序是 MVC 应用程序来实现。有关详细信息,请参阅此问题“添加控制器”/“添加视图”在混合 MVC/WebForms ASP.NET 应用程序中

如果你:

  1. 在项目根目录下创建一个 Controllers 文件夹
  2. 鼠标右键你自己的宿主项目文件和“卸载项目”
  3. 鼠标右键你自己的宿主项目文件“编辑”
  4. 在 Xml > Project -> PropertyGroup 下添加步骤下显示的节点
  5. 节省
  6. 鼠标右键你自己的宿主项目文件点击重新加载项目

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

完成此操作后,您可以开始使用 TT 文件(脚手架),以使它们更有用/特定于自托管http://www.hanselman.com/blog/ModifyingTheDefaultCodeGenerationscaffoldingTemplatesInASPNETMVC.aspx

于 2012-11-17T13:10:02.227 回答
0

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

于 2012-11-16T21:23:17.423 回答