Виндзорский замок не может разрешить любой тип после регистрации их сборкой
Я пытаюсь реализовать службу, которая сканирует текущую библиотеку для всех расширений .ddl, а затем регистрирует их сборкой в замке Виндзор, но когдаЯ пытаюсь разрешить. Исключение выдается с сообщением: «Нет компонента для поддержки службы».Если я перебираю Kernel.GetAssignableHandlers, я вижу, что все типы зарегистрированы.
1.получить корневое имя сборки:
var delimiterIndex = assembly.FullName.IndexOfAny(new[] { '.' });
2.Получить все сборки в виде массива
return Directory.EnumerateFiles(AppDomain.CurrentDomain.BaseDirectory, "*.*", SearchOption.AllDirectories)
.Where(x => Path.GetExtension(x).Equals(".dll", StringComparison.InvariantCultureIgnoreCase))
.Where(x => Path.GetFileName(x)
.StartsWith(rootAssemblyName, StringComparison.InvariantCultureIgnoreCase)).Select(Assembly.LoadFile).ToArray();
3.Зарегистрируйте каждую сборку в контейнере Виндзорского замка
Classes.FromAssembly(assembly).Pick().WithServiceBase().WithServiceAllInterfaces().WithServiceSelf().LifestyleTransient()
4.Resolve
var instance = _container.Resolve<IFoo>();
При разрешении выдается «ComponentNotFoundException» с сообщением:
'Нет компонента для поддержки службы Mes.Utils.DBUpgrade.IDBUpgraderбыл найден '