A exceção é: InvalidOperationException - O tipo atual, é uma interface e não pode ser construído. Você está faltando um mapeamento de tipo?

No meu bootstrapper:

namespace Conduit.Mam.ClientServices.Common.Initizliaer
{
    public static class Initializer
    {
        private static bool isInitialize;
        private static readonly object LockObj = new object();
        private static IUnityContainer defaultContainer = new UnityContainer();

        static Initializer()
        {
            Initialize();
        }

        public static void Initialize()
        {
            if (isInitialize)
                return;

            lock (LockObj)
            {
                IUnityContainer container = defaultContainer;

                //registering Unity for MVC
                DependencyResolver.SetResolver(new UnityDependencyResolver(container));

                //registering Unity for web API
                //  GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

                #region managers
                container.RegisterType<ISettingsManager, SettingsManager>();

                container.RegisterType<IMamDataManager, MamDataManager>();

                container.RegisterType<IAppsDataManager, AppsDataManager>();
                #endregion

                if (!isInitialize)
                {
                    isInitialize = true;
                }
            }
        }
    }
}

no código do meu controlador:

ISettingsManager sm = mUnityContainer.Resolve<ISettingsManager>();

pairando no mUnityContainer eu vejoISettingsManager é mapeado paraSettingsManager

mas então eu recebo o erro:

A exceção é: InvalidOperationException - O tipo atual, é uma interface e não pode ser construído. Você está faltando um mapeamento de tipo?

Eu também tentei

ISettingsManager sm = (ISettingsManager)mUnityContainer.Resolve<>(typeof(ISettingsManager));

mas sem uso

questionAnswers(7)

yourAnswerToTheQuestion