Возможно, вы также можете найти полезную эту функцию, хотя многие люди считают ее анти-шаблоном, которую все еще можно использовать, если вы знаете, что делаете, и хорошо разработайте свое решение.
Изменение служб во время выполнения не поддерживается Microsoft.Extensions.DependencyInjection.
Я рекомендую создать службу-оболочку, которая во время выполнения может выбирать между различными реализациями на основе условия.