2

我已将一个非常简单的 WEB Api 项目部署到 Windows Azure 并收到以下错误:

 Method not found: 'System.Web.Http.Services.DefaultServices System.Web.Http.HttpConfiguration.get_Services()'.

当我查看 bin 目录时,它似乎拥有与我的本地项目相同的所有 dll。那么我缺少什么二进制文件?

以下是 bin 中的文件:

Newtonsoft.Json.dll
System.Json.dll
System.Net.Http.dll
System.Net.Http.Formatting.dll
System.Net.Http.WebRequest.dll
System.Net.Http.xml
System.Web.Http.Common.dll
System.Web.Http.dll
System.Web.Http.WebHost.dll
MyApp.dll

触发它的代码在 Global.asax 中:

protected void Application_Start(object sender, EventArgs e)
{
    GlobalConfiguration.Configuration.Routes.MapHttpRoute(name: "api", routeTemplate: "api/{controller}", defaults: new { controller = "MyApp" });
}
4

2 回答 2

4

此错误表明存在 Web API Beta dll。

由于 Beta 位于 GAC 中,要摆脱它并不容易,最简单的方法是卸载 MVC4 并重新安装,确保获得 RC 版本。

于 2012-07-18T07:59:27.687 回答
1

我一定有旧版本的 MVC 4 捆绑包。我卸载、重新下载、重新安装、重新部署,现在一切正常。

于 2012-07-17T22:58:25.170 回答