Where does Microsoft.Practices.ServiceLocation come from?
.NetEnterprise Library.Net Problem Overview
Does any one know where Microsoft.Practices.ServiceLocation
comes from? This is a namespace and a dll used in MS EnterpriseLibrary. Admittedly it's a very simple dll with just a handful of classes (using reflector), but I can't find published source code for it. It's not in Enterprise Library project and not in Unity project.
So does someone know if the source code for this was published and where? And also why is it not part of Unity? Is it used anywhere else?
.Net Solutions
Solution 1 - .Net
It comes from: https://github.com/unitycontainer/commonservicelocator
From the project description:
> The Common Service Locator library > contains a shared interface for > service location which application and > framework developers can reference. > The library provides an abstraction > over IoC containers and service > locators. Using the library allows an > application to indirectly access the > capabilities without relying on hard > references. The hope is that using > this library, third-party applications > and frameworks can begin to leverage > IoC/Service Location without tying > themselves down to a specific > implementation.
This abstraction is implemented by several IoC frameworks out there, and Unity is one of them. nevertheless, Unity is not the owner of that project.
This way StructureMap, for example, provides implementation of those clases, so other frameworks (such as Prism from patterns & practices) can easily work with other IoC frameworks and not be bound to Unity itself.
Solution 2 - .Net
If you want you can grab the NuGet
package here:
Solution 3 - .Net
Its a part of Enterprise Library : http://msdn.microsoft.com/en-us/library/ff664629(PandP.50).aspx.
Download it, together with documentation, from http://entlib.codeplex.com/.