2015-11-06 43 views
0

我剛剛爲.Net 4.5創建了一個Web API應用程序,以使用Unity(IoC框架) *。Nuget錯誤:'EntityFramework 5.0.0'與'Microsoft.AspNet.Identity.EntityFramework 1.0.0不兼容'

我使用的NuGet添加統一:

Install-Package Unity 

然後我添加Mvc5支持

Install-Package Unity.Mvc5 

對於後端,我創建了一個類項目,在它的EF模型,用最小的內容。我註冊這樣的:

container.RegisterType<MyEntities>(); 

爲了做一個基本的工藝試驗,我添加了一個倉庫,並註冊它像這樣:

container.RegisterType<IMyRepository, MyRepository>(); 

至於我可以告訴一切都正常運行,但當我執行,我得到了Web API偏出EF參考5.

所以我嘗試添加像這樣的通知:

Install-Package EntityFramework -Version 5.0.0 

但後來我得到這個錯誤:

Unable to resolve dependencies. 'EntityFramework 5.0.0' is not compatible with 'Microsoft.AspNet.Identity.EntityFramework 1.0.0 constraint

的Web API項目創建過程中加入的Microsoft.AspNet.Identity.EntityFramework參考和它的(奇怪)實際上2.0版!

我想離開項目,因爲我認爲上述參考是用於身份驗證?我會在某個時候需要這個。

有關如何解決此問題的任何想法?

  • 我想測試註冊EF ObjectContext作爲依賴關係,請參閱我以前的question

回答

1

Asp Identity Entity Framework 2對Entity Framework 6.0.1及更高版本具有依賴性。

See documentation

更新你的實體框架,最新版本,然後嘗試你的代碼。

Update-Package EntityFramework -version 6.1.3

+0

工作,謝謝!一個額外的問題,如果我可以:我認爲Unity設置正確,但我得到了一個'無參數構造函數'錯誤的homecontroller(它將IMyRepository作爲依賴項)。我將容器添加到WebApiConfig,我是否需要在其他地方註冊它(Owin也許)? – Spikee

+0

看到這個鏈接。我希望它能幫助你。 http://stackoverflow.com/questions/9527988/cannot-inject-dependencies-into-asp-net-web-api-controller-using-unity –

相關問題