爲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之前驗證此方法是否可用?
這是否有幫助... https://github.com/seesharper/LightInject/issues/170? – Luke
我在代碼中添加了該代碼,但仍然收到相同的錯誤。 – QueueHammer