2016-09-21 53 views
0

爲MVC控制器設置LightInject時,在注入器設置中調用container.EnableMvc();時出現錯誤。在MVC5和.Net 4.5中使用LightInject時未找到方法

錯誤:

Method not found: 'Void LightInject.WebContainerExtensions.EnablePerWebRequestScope(LightInject.IServiceContainer)'

來源:

public static void Register() { 
    var container = new ServiceContainer(); 
    container.ScopeManagerProvider = new PerLogicalCallContextScopeManagerProvider(); 
    WebContainerExtensions.EnablePerWebRequestScope(container); 
    container.RegisterControllers(); 

    container.Register<ISomeClass, SomeClass>(); 

    container.EnableMvc(); 
} 

附加信息:

  • 我通過Visual Studio在本地運行代碼
  • 該項目是4.5
  • 我的操作系統是Windows 10(框架4.5)

在過去,當我已經安裝LightInject我手動設置範圍終身但文檔,對於一般的設置和MVC具體的例子,已經改變了。我遇到一個提到這可能是一個問題,不包括LightInject.Web作爲dep,但我可以看到它被列爲LightInject.MVC的dep和項目中的引用列表。

是否有任何其他步驟可以用來手動配置生命週期,或者在啓用MVC之前驗證此方法是否可用?

+0

這是否有幫助... https://github.com/seesharper/LightInject/issues/170? – Luke

+0

我在代碼中添加了該代碼,但仍然收到相同的錯誤。 – QueueHammer

回答

0

這裏的問題是我用NuGet安裝LightInject.MVC。它列出了它的依賴關係:

LightInject.Web (>= 1.0.0.4)
LightInject (>= 3.0.1.7)

後我用盡這是一個問題與.NET 4.5的版本,並可能問題,異步。我決定手動更新LightInject.WebLightInject到他們的最新版本。更新後,它解決了這個問題。

我將添加此作爲項目網站上列出的依賴關係中的錯誤。

相關問題