在VS 2010 WEB FORMS 项目中,我使用了nuget“install-package Microsoft.aspnet.webapi”。
PM> install-package Microsoft.aspnet.webapi 试图解决依赖关系'Microsoft.AspNet.WebApi.WebHost(≥4.0.20505.0)'。 试图解决依赖'Microsoft.Web.Infrastructure(≥1.0.0.0)'。 试图解决依赖'Microsoft.AspNet.WebApi.Core(≥4.0.20505.0)'。 试图解决依赖关系'Microsoft.AspNet.WebApi.Client(≥4.0.20505.0)'。 试图解决依赖'Microsoft.Net.Http(≥2.0.20505.0)'。 试图解决依赖'Newtonsoft.Json(≥4.5.1)'。 安装了“Microsoft.AspNet.WebApi 4.0.20505.0”。
但是,当我转到“添加新项目...”时,在已安装的模板下,“Web API控制器类”不可用。我需要安装什么才能使模板显示出来。我没有安装MVC4,在模板显示之前我是否也需要它?
答案 0 :(得分:3)
Nuget仅为您提供运行Web API所需的程序集。
要使用MVC4 Web Api Visual Studio模板,您必须从此处安装MVC4软件包 - http://www.asp.net/web-api。安装完成后,在“创建新项目”向导中,您必须选择MVC4模板,在下一个窗口中,您可以选择Web API项目。
请注意,如果您不明确需要MVC4应用程序,则不需要这样做。您可以将Web API与几乎任何东西一起使用 - MVC3,Web窗体,控制台应用程序,WPF应用程序......它不依赖于MVC4。
答案 1 :(得分:1)
将目标框架更改为4.0为我修复了同样的问题。
答案 2 :(得分:0)
我认为您需要安装ASP.NET MVC4才能使模板显示在列表中。
答案 3 :(得分:0)
我今天遇到了同样的问题。即使我安装了所有的dll。然后我只是创建了一个新的“网站”而不是“Web应用程序”,webapi控制器类模板出现在模板列表中。
奇怪,但为我工作。你也可以尝试一下。
另一方面,您可以从NuGet安装System.Web.Http dll。然后你可以从ApiCOntroller类继承你的CustomController类。
答案 4 :(得分:0)
不要忘记您需要将目标框架设置为.NET 4.x才能看到ASP.NET MVC 4模板。