Microsoft.Practices.ServiceLocation来自哪里?

时间:2010-10-21 21:23:43

标签: .net enterprise-library

有人知道Microsoft.Practices.ServiceLocation的来源吗?这是MS EnterpriseLibrary中使用的命名空间和dll。不可否认,这是一个非常简单的dll,只有少数几个类(使用反射器),但我找不到已发布的源代码。它不在Enterprise Library项目中,也不在Unity项目中。

有人知道这个的源代码是否已发布以及在哪里?还有为什么它不是Unity的一部分?它是否在其他地方使用?

3 个答案:

答案 0 :(得分:65)

它来自:https://github.com/unitycontainer/commonservicelocator

从项目说明:

  

Common Service Locator库   包含一个共享接口   申请和服务的位置   框架开发者可以参考。   该库提供了一个抽象   在IoC容器和服务上   定位器。使用库允许   申请间接访问   能力而不依赖于努力   引用。希望是使用   这个库,第三方应用程序   和框架可以开始利用   IoC /服务位置无需搭售   他们自己到特定的   实施

这个抽象是由几个IoC框架实现的,而Unity就是其中之一。尽管如此,Unity并不是该项目的所有者。

例如,这种方式StructureMap提供了这些条款的实现,因此其他框架(例如来自模式和实践的Prism)可以轻松地与其他IoC框架协同工作,而不是绑定到{ {3}}本身。

答案 1 :(得分:12)

如果您愿意,可以在此处抓取NuGet包:

http://www.nuget.org/packages/CommonServiceLocator/

答案 2 :(得分:4)

它是企业库的一部分:http://msdn.microsoft.com/en-us/library/ff664629(PandP.50).aspx

http://entlib.codeplex.com/下载文件和文档。