昨天我实现了代码:
CustomerProductManager productsManager = container.Resolve<CustomerProductManager>();
它是可编译的并且可以正常工作。
今天(可能我已经修改了一些东西),我不断收到错误:
非泛型方法'Microsoft.Practices.Unity.IUnityContainer.Resolve(System.Type,string,params Microsoft.Practices.Unity.ResolverOverride [])'不能与类型参数一起使用
我的同事具有相同的源代码,并且没有相同的错误。为什么?如何解决问题?
聚苯乙烯
行“使用Microsoft.Practices.Unity;” 在使用部分中。
我试图用非通用版本替换通用版本:
CustomerProductManager productsManager = (CustomerProductManager)container.Resolve(typeof(CustomerProductManager));
并得到另一个错误:
方法'Resolve'的重载没有接受'1'参数
似乎未引用其中一个程序集。但是,哪个程序集呢?我引用了其中两个:1. Microsoft.Practices.Unity.dll 2. Microsoft.Practices.ServiceLocation.dll
PPS我也遇到过类似的问题http://unity.codeplex.com/WorkItem/View.aspx?WorkItemId=8205,但已解决为“不是bug”
任何想法都会有所帮助