0

サンプルの .NET WebApi アプリで Breeze.js フレームワークを試しています。私はいくつかのコントローラーをセットアップし、Unity.WebApi を使用してアプリの作業単位を挿入しました。

Entity Framework 6 を使用しているため、「Breeze Client and Server - ASP.NET Web API 2 および Entity Framework 6 を使用した Javascript クライアント」パッケージ (id: Breeze.WebApi2.EF6) を使用して Breeze をインストールしました。その後、BreezeController を追加しましたが、アプリが壊れて次のエラーが表示されます。

Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

ソース エラー:

Line 15:             GlobalConfiguration.Configuration.DependencyResolver = 
Line 16:                 new UnityDependencyResolver(container);
Line 17:         }
Line 18: 
Line 19:         private static IUnityContainer BuildUnityContainer()

このエラーをグーグルとスタックオーバーフローすると、さまざまな状況に関連する結果が得られるため、あまり役に立ちません。ただし、エラーは Unity の Bootstrapper ファイルに起因するため、Unity を削除した後、Breeze コントローラーが機能し始めました。Unity を元に戻す - また壊れる

ブリーズコントローラー:

public class BreezeController : ApiController
{
    readonly EFContextProvider<DataContext> _contextProvider = 
        new EFContextProvider<DataContext>();

    [HttpGet]
    public string Metadata()
    {
        return _contextProvider.Metadata();
    }

    [HttpGet]
    public IQueryable<Category> Categories()
    {
        return _contextProvider.Context.Categories;
    }
}
4

1 に答える 1