这里有一个很棒的主题: How to add Web API to an existing ASP.NET MVC (5) Web Application project?
不幸的是,对我来说Global.asax上的WebApiConfig出错了,所以如何修复这个错误我甚至安装了nugets。
名称' WebApiConfig'在当前上下文中不存在
Global.asax中
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
WebApiConfig
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// WebAPI when dealing with JSON & JavaScript!
// Setup json serialization to serialize classes to camel (std. Json format)
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
}
}
答案 0 :(得分:1)
当您从其他项目复制代码时,您正在合并现有mvc项目中的web api,因此很多时候两个项目具有不同的命名空间,因此您必须添加命名空间或更改webapiconfig的命名空间。