我剛剛爲.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。
工作,謝謝!一個額外的問題,如果我可以:我認爲Unity設置正確,但我得到了一個'無參數構造函數'錯誤的homecontroller(它將IMyRepository作爲依賴項)。我將容器添加到WebApiConfig,我是否需要在其他地方註冊它(Owin也許)? – Spikee
看到這個鏈接。我希望它能幫助你。 http://stackoverflow.com/questions/9527988/cannot-inject-dependencies-into-asp-net-web-api-controller-using-unity –