2010-10-21 22 views
64

¿Alguien sabe de dónde viene Microsoft.Practices.ServiceLocation? Este es un espacio de nombres y un dll utilizados en MS EnterpriseLibrary. Es cierto que es un dll muy simple con solo un puñado de clases (con reflector), pero no puedo encontrar el código fuente publicado para ello. No está en el proyecto de Enterprise Library ni en el proyecto de Unity.¿De dónde viene Microsoft.Practices.ServiceLocation?

Entonces, ¿alguien sabe si el código fuente para esto fue publicado y dónde? Y también ¿por qué no es parte de la Unidad? ¿Se usa en otro lugar?

+0

Otra respuesta relacionada con esta pregunta: http://stackoverflow.com/a/25728456 – Believe2014

Respuesta

60

Viene de: https://github.com/unitycontainer/commonservicelocator

De la descripción del proyecto:

La biblioteca Servicio de localización Común contiene una interfaz compartida para ubicación de servicio que las aplicaciones y los desarrolladores pueden marco de referencia. La biblioteca proporciona una abstracción sobre los contenedores IoC y los localizadores de servicio . El uso de la biblioteca permite que una aplicación acceda indirectamente a las capacidades sin tener que recurrir a las referencias duras . La esperanza es que usando esta biblioteca, las aplicaciones de terceros y frameworks pueden comenzar a aprovechar IoC/Service Location sin vincular a una implementación específica de .

Esta abstracción está implementada por varios frameworks IoC, y Unity es uno de ellos. sin embargo, Unity no es el propietario de ese proyecto.

esta manera StructureMap, por ejemplo, proporciona la aplicación de esas clases, por lo que otros marcos (tales como Prism de patrones & prácticas) puede trabajar fácilmente con otros marcos COI y no estar obligado a Unity sí mismo.

+1

en cuenta que no sólo Prisma pero la empresa La biblioteca misma ahora es independiente del contenedor y se puede ejecutar con otros contenedores IoC. –

+2

Tuve el mismo error pero tenía Enterprise Library 4.1 instalada en mi máquina y mi compañero desarrollador que agregó la referencia de biblioteca Enterprise a nuestra solución común tenía Enterprise Library versión 5 registrada. Por lo tanto, es posible que tenga un problema de versión de la biblioteca Enterprise. –

+0

Me pregunto por qué el equipo de Microsoft no incluyó esto en la versión MSEL ... – Andry

Cuestiones relacionadas