Hôm qua tôi đã triển khai mã:IUnityContainer.Resolve <T> ném lỗi tuyên bố nó không thể được sử dụng với các thông số loại
CustomerProductManager productsManager = container.Resolve<CustomerProductManager>();
Đó là compilable và làm việc.
Hôm nay (có lẽ tôi đã sửa đổi một cái gì đó) tôi liên tục nhận được lỗi:
The non-generic method 'Microsoft.Practices.Unity.IUnityContainer.Resolve(System.Type, string, params Microsoft.Practices.Unity.ResolverOverride[])' cannot be used with type arguments
đồng nghiệp của tôi có cùng một mã nguồn và không có cùng một lỗi. Tại sao? Làm thế nào để giải quyết vấn đề?
P.S.
dòng "bằng Microsoft.Practices.Unity;" có mặt trong phần sử dụng.
Tôi đã cố gắng để thay thế phiên bản generic với những người không chung một:
CustomerProductManager productsManager = (CustomerProductManager)container.Resolve(typeof(CustomerProductManager));
Và có một lỗi:
No overload for method 'Resolve' takes '1' arguments
Nó có vẻ như một trong những cụm không tham chiếu .. nhưng cái nào? Tôi có 2 người trong số họ được tham chiếu: 1. Microsoft.Practices.Unity.dll 2. Microsoft.Practices.ServiceLocation.dll
P.P.S. Tôi đã nhìn thấy vấn đề tương tự http://unity.codeplex.com/WorkItem/View.aspx?WorkItemId=8205 nhưng nó đã được giải quyết là "không phải là một lỗi"
Bất kỳ suy nghĩ sẽ rất hữu ích
Bạn có đang sử dụng Unity 2.0 không? – Vadim
Bạn đã làm cho nó hoạt động chưa? –
Có, tôi đang sử dụng v2.0 – Budda