我试图找到PerRequestLifetimeManager.在MSDN,it says that it is part of the Unity 3 assembly.
我已经通过Nuget安装了Unity.Mvc4. package.config说我正在使用Unity 3.0:
Microsoft.Practices.Unity.dll表示我正在使用Unity 3.0
我使用对象浏览器查看DLL内部,并且PerRequestLifetimeManager没有找到.
我在这里遗漏了什么吗?
如果有人会建议一个替代课程,我打算使用一个自定义PerRequestLifetimeManager发现here(如果我找不到该类).
编辑:
我卸载了Unity.Mvc4并直接在包控制台中安装了Unity3.0,这里是我所得到的:
PM> Install-Package Unity -version 3.0.1304.1 'Unity 3.0.1304.1' already installed. Successfully added 'Unity 3.0.1304.1' to RedLions.Presentation.Web.
我仍然找不到PerRequestLifetimeManager类,即使在官方的库中.
解决方法
回答自己的问题似乎并不好,我只是自己做.我不能再删除我的问题.
无论如何,这是我的解决方案.
我直接去了Unity的源代码,我发现该类确实存在于同一个命名空间中,但不在同一个程序集中. PerRequestLifetimeManager在Microsoft.Practices.Unity.Mvc中
我检查了MSDN,它确实说,它在一个不同的DLL,我没有注意到.对于那个很抱歉.
它不是nuget中的Unity包的一部分,而是在Nuget(Unity.Mvc)的另一个包中,所以这里是:http://www.nuget.org/packages/Unity.Mvc/
我决定转载Unity.Mvc4,因为它不再需要,一切都已经在Unity.Mvc中. (App_Start / UnityConfig.cs)