-
Notifications
You must be signed in to change notification settings - Fork 29
Open
Description
To speed up our Integration tests we currently replace the implementation of IAssemblyNameRetriever with one of our own which does not create a separate app domain.
To do so we currently need to roll our own implementation of the ExtensionsForIKernel.Bind method. This is due to the method doing new AssemblyNameRetriever();, so there is no way for us to override the implementation of IAssemblyNameRetriever.
We would like the extension to change to either
-get the IAssemblyNameRetriever from the Kernel
-let the Kernel build the entire IAssemblyFinder
Sadly there is currently no way to access the kernel's components or resolution features since there's only an IBindingRoot.
I've got some (rather ugly...) suggestions:
- Extend
IBindingRootwith functionality to acces resolution / components. Bad in regards to ISP.
or
- The Convention extension could provide a module which resolves an instance of
IAssemblyFinderorIAssemblyNameRetrieverwhich is then stored in a static field - to be accessed by the extension method. Disadvantage: This does not work with multiple kernel instances. The last initialized kernel "wins".
Metadata
Metadata
Assignees
Labels
No labels