2

非常に単純なWEBApiプロジェクトをWindowsAzureにデプロイしましたが、次のエラーが発生します。

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

binディレクトリを見ると、ローカルプロジェクトと同じdllがすべて含まれているように見えます。では、どのバイナリが欠落していますか?

ビン内のファイルは次のとおりです。

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 に答える