2

Katana でホストされている WebAPI 用に Unity 3 を試しました。

system.web.http をスタートアップにロードできないという例外が発生します。

誰かがこれを機能させましたか?

HttpConfiguration apiConfig = new HttpConfiguration();

apiConfig.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
apiConfig.Formatters.Remove(apiConfig.Formatters.XmlFormatter);
apiConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
apiConfig.DependencyResolver = new UnityDependencyResolver(_container);

app.UseWebApi(apiConfig);
4

1 に答える 1

4

Unity.WebAPI パッケージを使用している場合は、System.Web.Http v4.0 に依存します。Web API v2 で使用するには、アセンブリ バインディング リダイレクトを web.config に追加する必要があります。

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
于 2013-09-16T16:26:54.593 に答える