【问题标题】:Why does the VS 2015 Web Api project template not use app.UseWebApi Extension为什么VS 2015 Web Api项目模板不使用app.UseWebApi扩展
【发布时间】:2026-02-19 06:35:01
【问题描述】:

全世界都在使用 IAppBuilder 扩展 UseWebApi 和 asp.net web api。所有博客示例都显示了它。

但是当我使用 VS 2015 RC 创建一个 web api 项目时,我在任何地方都找不到使用的 UseWebApi 扩展方法。

这是为什么呢?

【问题讨论】:

  • 您查看的样本是否正确?例如Create a Web API in MVC 6没有有这个调用,它只有UseMVC。 Web API 已整合到 MVC 6 中,因此您甚至不必再使用不同的控制器
  • 什么是正确的样本...?我看看微软给了我什么作为回报,按下“创建 web api 项目模板”按钮。并且没有 UseWebApi 调用。但是 web api 2.2 中的每个人都在这样做。
  • 样本没有问题,但我怀疑您的目标是 .NET 4.6。 ASP.NET 4.6 项目使用新版本的 MVC 6,其中包含 Web API。您需要明确定位 NET 4.5.2 才能创建 Web API 2.2 项目。
  • 啊现在我又记得我做了 .NET 4.6 + web api 并删除了不需要的 MVC 引用:P
  • 实际上不是...而不是我的解决方案中有一个 gulp 或 grunt 和 json 文件。

标签: c# asp.net-web-api asp.net-web-api2


【解决方案1】:

您可能需要添加 NuGet 包“Microsoft.AspNet.WebApi.Owin”才能获取扩展方法。

【讨论】:

  • 微软质疑为什么我必须添加一个以 .Owin 结尾的 nuget 包,为什么项目模板有一个 Owin Startup 类?这看起来像一个项目模板错误。 “他们忘记添加包裹” 这不是关于缺少包裹的问题。这就是为什么项目模板不使用 .UseWebApi 的原因?