Регистрация структурной карты с открытыми универсальными типами приводит к ошибке

Открытый универсальный тип

public interface ICrudRepository<TEntity, in TKey> where TEntity : class, new()
{

Реализация

public class EmployeeRepository:ICrudRepository<Employee,int>
{

Постановка на учет

private static void OnRegistry(ConfigurationExpression iocLib)
        {
            iocLib.Scan(scanner =>
            {
                //bind interfaces with their implementations
                scanner.WithDefaultConventions();

                //scan for types from below projects
                scanner.IncludeNamespace("MyApp.Repository");
                scanner.IncludeNamespace("MyApp.Data");                

                //bind to repository base
                scanner.AddAllTypesOf(typeof(ICrudRepository<,>));

                //bind crudrepository interface with the class that implements it
                scanner.ConnectImplementationsToTypesClosing(typeof(ICrudRepository<,>));
            });

использование

public class HomeController : Controller
    {
        private readonly ICrudRepository<Employee, int> _employeeRepository;

        public HomeController(ICrudRepository<Employee, int> employeeRepository)
        {
            _employeeRepository = employeeRepository;
        }

Проблема:

Интерфейс ICrudRepository находится внутри проекта MyApp.Repository, а реализация находится внутри проекта MyApp.Data. Меня приветствуют с исключением, как показано ниже при вызове HomeController. Не знаете, что не так?

Экземпляр по умолчанию не зарегистрирован и не может быть автоматически определен для типа ICrudRepository<Сотрудник, Int32> Конфигурация ICrudRepository не указана<Сотрудник, Int32>

Вот свалка Что у меня есть?

===================================================================================================
PluginType           Namespace        Lifecycle     Description                           Name     
---------------------------------------------------------------------------------------------------
Func<TResult>        System           Transient     Open Generic Template for Func<>      (Default)
---------------------------------------------------------------------------------------------------
Func<T, TResult>     System           Transient     Open Generic Template for Func<,>     (Default)
---------------------------------------------------------------------------------------------------
IContainer           StructureMap     Transient     Object:  StructureMap.Container       (Default)
---------------------------------------------------------------------------------------------------
Lazy<T>              System           Transient     Open Generic Template for Func<>      (Default)
===================================================================================================

0 ответов

Другие вопросы по тегам