Unity xml config single generi c Ошибка типа - PullRequest
0 голосов
/ 22 апреля 2020

Справочная информация

У меня есть существующий объект конфигурации Unity с моими зарегистрированными интерфейсами и конкретными классами, которые мне нужно переместить в эквивалент на основе .config xml.

Один из зарегистрированных интерфейсов использует обобщенный тип c, соответствующий класс затем реализует интерфейс вместе с типом T, установленным в интерфейсе.

Код

Текущий C# Контейнер Unity:

container.RegisterType<ITaskModelAdapter, TaskModelAdapter>();
container.RegisterType<ITaskManager<ITaskModelAdapter>, TaskManager<ITaskModelAdapter>>();

Файл Unity .config:

<register type="TestProj.ContentManagement.Tasks.Adapters.ITaskModelAdapter, TestProj" mapTo="TestProj.ContentManagement.Tasks.Adapters.TaskModelAdapter, TestProj" />
<register type="TestProj.ContentManagement.Tasks.Managers.ITaskManager`1[TestProj.ContentManagement.Tasks.Adapters.ITaskModelAdapter], TestProj" mapTo="TestProj.ContentManagement.Tasks.Managers.TaskManager`1[TestProj.ContentManagement.Tasks.Adapters.TaskModelAdapter], TestProj" />

Проблема

В настоящее время я являюсь получаю следующее сообщение:

The type name or alias TestProj.ContentManagement.Tasks.Managers.ITaskManager`1[TestProj.ContentManagement.Tasks.Adapters.ITaskModelAdapter], TestProj could not be resolved. Please check your configuration file and verify this type name.

Я не могу получить интерфейс с его типом generi c, сопоставленным с конкретным экземпляром. Я считаю, что я настроил это правильно, поскольку существует только 1 тип c, который является интерфейсом ITaskModelAdapter.

Я искал SO на предмет существующих проблем по этому вопросу, но пробованные решения не сработали для этой ситуации.

Если кто-нибудь может указать мне правильное направление относительно того, почему это не разрешит, это будет очень цениться.

...