Внедрение зависимостей через Scrutor

Создаю модульное приложение, в котором бизнес сервисы и компоненты Blazor будут добавляться динамически и регистрироваться через Scrutor.

Со Scrutor работаю впервые, вроде всё делаю по инструкции, но не могу зарегистрировать сборку модуля и сервисы. Делаю так

List<Assembly> allAssemblies = new List<Assembly>();

string path = @"C:\Users\Admin\source\repos\ServerCompare\src\Modules\Processes\Presentation\ServerCompare.Processes.WebUI\bin\Debug\net8.0";

string[] files = Directory.GetFiles(path, "*.dll");

foreach (string dll in files.Where(x =>
    Path.GetFileName(x).StartsWith("ServerCompare.Processes")))
{
    allAssemblies.Add(Assembly.LoadFile(dll));
}

services.Scan(scan =>
    scan.FromAssemblies(allAssemblies)
    .FromDependencyContext(DependencyContext.Default)
    .AddClasses(classes => classes.AssignableTo<IScopedLifetime>(), true)
    .UsingRegistrationStrategy(RegistrationStrategy.Skip)
    .AsMatchingInterface()
    .WithScopedLifetime());

Тут мы используем сервис который нам необходимо подключить

public class CompareProcessesListHandler : IRequestHandler<CompareProcessesList>
{
    IProcessService ProcessService;

    public CompareProcessesListHandler(IProcessService processService)
    {
        ProcessService = processService;
    }

    public Task Handle(CompareProcessesList request, CancellationToken cancellationToken)
    {
        ProcessService.GetProcesses();
        var a = 1 + 1;
        return Task.CompletedTask;
    }
}

Сам сервис который мне необходимо подключить IProcessService

public class ProcessService : IProcessService, IScopedLifetime
{
    public void GetProcesses()
    {        
    }
}

В итоге получаю вот такую ошибку

InvalidOperationException: Unable to resolve service for type 'ServerCompare.Processes.WebUI.IProcessService' while attempting to activate 'ServerCompare.Processes.WebUI.Features.CompareProcessesListHandler'.

Подскажите, как её можно исправить?


Ответы (0 шт):