2010-10-21 39 views
64

Có ai biết Microsoft.Practices.ServiceLocation xuất phát từ đâu không? Đây là một không gian tên và một dll được sử dụng trong MS EnterpriseLibrary. Phải thừa nhận rằng đó là một dll rất đơn giản chỉ với một số ít các lớp (sử dụng phản xạ), nhưng tôi không thể tìm thấy mã nguồn được xuất bản cho nó. Nó không nằm trong dự án Thư viện Doanh nghiệp và không nằm trong dự án Unity.Microsoft.Practices.ServiceLocation đến từ đâu?

Vì vậy, có ai đó biết liệu mã nguồn cho điều này đã được xuất bản và ở đâu không? Và tại sao nó không phải là một phần của Unity? Nó được sử dụng ở bất cứ nơi nào khác?

+0

Một câu trả lời liên quan đến câu hỏi này: http://stackoverflow.com/a/25728456 – Believe2014

Trả lời

60

Nó đến từ: https://github.com/unitycontainer/commonservicelocator

Từ các mô tả dự án:

Dịch vụ Common Locator thư viện chứa một giao diện chung cho vị trí dịch vụ ứng dụng và thao khuôn khổ phát triển có thể tham khảo. Thư viện cung cấp một số trừu tượng trên các vùng chứa IoC và dịch vụ các trình định vị. Sử dụng thư viện cho phép ứng dụng truy cập gián tiếp vào các khả năng mà không dựa vào các tham chiếu cứng . Hy vọng là sử dụng thư viện này, các ứng dụng của bên thứ ba và các khuôn khổ có thể bắt đầu tận dụng IoC/Vị trí dịch vụ mà không cần tự động buộc thực hiện cụ thể.

Sự trừu tượng này được thực hiện bởi một số khung công tác IoC, và Unity là một trong số đó. tuy nhiên, Unity không phải là chủ sở hữu của dự án đó.

Bằng cách này StructureMap, ví dụ, cung cấp thi hành những clases, các khuôn khổ như vậy khác (chẳng hạn như Prism từ mẫu & thực hành) có thể dễ dàng làm việc với các khuôn khổ IoC khác và không bị ràng buộc để Unity riêng của mình.

+1

Chú ý rằng không chỉ Prism nhưng Enterprise Thư viện chính nó bây giờ là không khả tri và có thể chạy với các thùng chứa IoC khác. –

+2

Tôi đã gặp lỗi tương tự nhưng tôi đã cài đặt thư viện Enterprise 4.1 trên máy của mình và nhà phát triển đồng nghiệp của tôi đã thêm tài liệu tham khảo thư viện Enterprise vào giải pháp chung của chúng tôi đã có Thư viện Enterprise phiên bản 5 được đăng ký. –

+0

Tôi tự hỏi tại sao nhóm Microsoft không bao gồm điều này trong bản phát hành MSEL ... – Andry

Các vấn đề liên quan