Plugin controller not registering to IoC container

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
11 years ago
I have a controller class called “GiftRegistryController” that doesn’t seem to register to the IoC container. Anything special I need to do? I see all other components of my plugin in the container.


My IoC registry class...



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nop.Core.Infrastructure.DependencyManagement;
using Autofac;
using Nop.Core.Infrastructure;
using Nop.Core.Data;
using Nop.Data;
using Nop.Plugin.Other.GiftRegistry.Data;
using Nop.Plugin.Other.GiftRegistry.Services;
using Nop.Plugin.Other.GiftRegistry.Domain;
using Autofac.Core;
using Autofac.Integration.Mvc;
using System.Web.Mvc;
using Nop.Plugin.Other.GiftRegistry.Controllers;

namespace Nop.Plugin.Other.GiftRegistry {

    public class GiftRegistryDependencyRegistrar : IDependencyRegistrar {

        private const string CONTEXT_NAME = "nop_object_context_gift_registry";

        public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder) {

            var dataSettingsManager = new DataSettingsManager();
            DataSettings dataSettings = dataSettingsManager.LoadSettings();

            builder.Register<IDbContext>(c => RegisterIDbContext(c, dataSettings))
                .Named<IDbContext>(CONTEXT_NAME)
                .InstancePerHttpRequest();

            builder.RegisterType<GiftRegistryService>()
                .As<IGiftRegistryService>()
                .InstancePerHttpRequest();

            builder.RegisterType<EfRepository<Registry>>()
                .As<IRepository<Registry>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerHttpRequest();

            builder.RegisterType<EfRepository<RegistryProduct>>()
             .As<IRepository<RegistryProduct>>()
             .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
             .InstancePerHttpRequest();

        }

        private GiftRegistryObjectContext RegisterIDbContext(IComponentContext componentContext, DataSettings dataSettings) {
            string dataConnectionStrings;
            if (dataSettings != null && dataSettings.IsValid())
                dataConnectionStrings = dataSettings.DataConnectionString;
            else
                dataConnectionStrings = componentContext.Resolve<DataSettings>().DataConnectionString;

            return new GiftRegistryObjectContext(dataConnectionStrings);

        }

        public int Order {
            get { return 0; }
        }
    }
}




The controller...


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using Nop.Plugin.Other.GiftRegistry.Services;

namespace Nop.Plugin.Other.GiftRegistry.Controllers {

    public class GiftRegistryController : Controller {
        
        private readonly IGiftRegistryService _giftRegistryService;

        public GiftRegistryController(IGiftRegistryService giftRegistryservice) {
            _giftRegistryService = giftRegistryservice;
        }

        public ActionResult Index() {
            return Content("");
        }

        public ActionResult Configure() {
            return View("Nop.Plugin.Other.GiftRegistry.Views.GiftRegistry.Configure");
        }
    }
}




...

I did test my mapping by new-ing it up manually....


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nop.Data;
using System.Data.Entity;
using Nop.Core;

namespace Nop.Plugin.Other.GiftRegistry.Data {

    public class GiftRegistryObjectContext : DbContext, IDbContext {

        public GiftRegistryObjectContext(string nameOrConnectionString)
            : base(nameOrConnectionString) {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder) {

            modelBuilder.Configurations.Add(new RegistryProductMap());
            modelBuilder.Configurations.Add(new RegistryMap());
            base.OnModelCreating(modelBuilder);
        
        }

        public new IDbSet<TEntity> Set<TEntity>() where TEntity : BaseEntity {
            return base.Set<TEntity>();
        }

        public IList<TEntity> ExecuteStoredProcedureList<TEntity>(string commandText, params object[] parameters) where TEntity : BaseEntity, new() {
            throw new NotImplementedException();
        }

        public bool AutoDetectChangesEnabled {
            get {
                throw new NotImplementedException();
            }
            set {
                throw new NotImplementedException();
            }
        }
    }
}



... the plugin class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Nop.Core.Plugins;
using Nop.Services.Common;
using System.Web.Routing;

namespace Nop.Plugin.Other.GiftRegistry {

    public class GiftRegistryPlugin : BasePlugin, IMiscPlugin {

        public override void Install() {
            base.Install();
        }

        public override void Uninstall() {
            base.Uninstall();
        }

        public void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues) {
            actionName = "Configure";
            controllerName = "GiftRegistry";
            routeValues = new RouteValueDictionary() { { "Namespaces", "Nop.Plugin.Other.GiftRegistry.Controllers" }, { "area", null } };
        }
    }
}


What i see in the container...

[Nop.Admin.Controllers.WidgetController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [83]  {Activator = ImageBrowserController (ReflectionActivator), Services = [Nop.Admin.Controllers.ImageBrowserController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [84]  {Activator = CommonController (ReflectionActivator), Services = [Nop.Admin.Controllers.CommonController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [85]  {Activator = BlogController (ReflectionActivator), Services = [Nop.Admin.Controllers.BlogController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [86]  {Activator = QueuedEmailController (ReflectionActivator), Services = [Nop.Admin.Controllers.QueuedEmailController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [87]  {Activator = ProductAttributeController (ReflectionActivator), Services = [Nop.Admin.Controllers.ProductAttributeController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [88]  {Activator = EmailAccountController (ReflectionActivator), Services = [Nop.Admin.Controllers.EmailAccountController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [89]  {Activator = CustomerRoleController (ReflectionActivator), Services = [Nop.Admin.Controllers.CustomerRoleController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [90]  {Activator = ProductReviewController (ReflectionActivator), Services = [Nop.Admin.Controllers.ProductReviewController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [91]  {Activator = MessageTemplateController (ReflectionActivator), Services = [Nop.Admin.Controllers.MessageTemplateController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [92]  {Activator = TopicController (ReflectionActivator), Services = [Nop.Admin.Controllers.TopicController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [93]  {Activator = AffiliateController (ReflectionActivator), Services = [Nop.Admin.Controllers.AffiliateController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [94]  {Activator = TaxController (ReflectionActivator), Services = [Nop.Admin.Controllers.TaxController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [95]  {Activator = PaymentController (ReflectionActivator), Services = [Nop.Admin.Controllers.PaymentController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [96]  {Activator = DownloadController (ReflectionActivator), Services = [Nop.Admin.Controllers.DownloadController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [97]  {Activator = OrderController (ReflectionActivator), Services = [Nop.Admin.Controllers.OrderController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [98]  {Activator = SettingController (ReflectionActivator), Services = [Nop.Admin.Controllers.SettingController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [99]  {Activator = NewsLetterSubscriptionController (ReflectionActivator), Services = [Nop.Admin.Controllers.NewsLetterSubscriptionController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [100]  {Activator = SpecificationAttributeController (ReflectionActivator), Services = [Nop.Admin.Controllers.SpecificationAttributeController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [101]  {Activator = ManufacturerController (ReflectionActivator), Services = [Nop.Admin.Controllers.ManufacturerController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [102]  {Activator = ShoppingCartController (ReflectionActivator), Services = [Nop.Admin.Controllers.ShoppingCartController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [103]  {Activator = CurrencyController (ReflectionActivator), Services = [Nop.Admin.Controllers.CurrencyController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [104]  {Activator = GiftCardController (ReflectionActivator), Services = [Nop.Admin.Controllers.GiftCardController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [105]  {Activator = PromotionFeedController (ReflectionActivator), Services = [Nop.Admin.Controllers.PromotionFeedController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [106]  {Activator = ProfileController (ReflectionActivator), Services = [Nop.Web.Controllers.ProfileController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [107]  {Activator = PrivateMessagesController (ReflectionActivator), Services = [Nop.Web.Controllers.PrivateMessagesController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [108]  {Activator = ExternalAuthenticationController (ReflectionActivator), Services = [Nop.Web.Controllers.ExternalAuthenticationController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [109]  {Activator = TopicController (ReflectionActivator), Services = [Nop.Web.Controllers.TopicController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [110]  {Activator = PollController (ReflectionActivator), Services = [Nop.Web.Controllers.PollController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [111]  {Activator = CatalogController (ReflectionActivator), Services = [Nop.Web.Controllers.CatalogController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [112]  {Activator = CatalogController (ReflectionActivator), Services = [Nop.Web.Themes.CKS.Controllers.CatalogController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [113]  {Activator = OrderController (ReflectionActivator), Services = [Nop.Web.Controllers.OrderController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [114]  {Activator = NewsController (ReflectionActivator), Services = [Nop.Web.Controllers.NewsController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [115]  {Activator = InstallController (ReflectionActivator), Services = [Nop.Web.Controllers.InstallController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [116]  {Activator = BackwardCompatibility1XController (ReflectionActivator), Services = [Nop.Web.Controllers.BackwardCompatibility1XController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [117]  {Activator = GiftWizardController (ReflectionActivator), Services = [Nop.Web.Themes.CKS.Controllers.GiftWizardController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [118]  {Activator = BlogController (ReflectionActivator), Services = [Nop.Web.Controllers.BlogController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [119]  {Activator = CheckoutController (ReflectionActivator), Services = [Nop.Web.Controllers.CheckoutController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [120]  {Activator = StoreFeedController (ReflectionActivator), Services = [Nop.Web.Controllers.StoreFeedController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [121]  {Activator = KeepAliveController (ReflectionActivator), Services = [Nop.Web.Controllers.KeepAliveController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [122]  {Activator = CountryController (ReflectionActivator), Services = [Nop.Web.Controllers.CountryController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [123]  {Activator = ShoppingCartController (ReflectionActivator), Services = [Nop.Web.Controllers.ShoppingCartController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [124]  {Activator = BoardsController (ReflectionActivator), Services = [Nop.Web.Controllers.BoardsController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [125]  {Activator = WidgetController (ReflectionActivator), Services = [Nop.Web.Controllers.WidgetController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [126]  {Activator = CommonController (ReflectionActivator), Services = [Nop.Web.Controllers.CommonController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [127]  {Activator = CustomerController (ReflectionActivator), Services = [Nop.Web.Controllers.CustomerController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [128]  {Activator = CommonController (ReflectionActivator), Services = [Nop.Web.Themes.CKS.Controllers.CommonController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [129]  {Activator = HomeController (ReflectionActivator), Services = [Nop.Web.Controllers.HomeController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [130]  {Activator = NewsletterController (ReflectionActivator), Services = [Nop.Web.Controllers.NewsletterController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [131]  {Activator = DownloadController (ReflectionActivator), Services = [Nop.Web.Controllers.DownloadController], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [132]  {Activator = DataSettings (DelegateActivator), Services = [Nop.Core.Data.DataSettings], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [133]  {Activator = EfDataProviderManager (DelegateActivator), Services = [Nop.Core.Data.BaseDataProviderManager], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [134]  {Activator = IEfDataProvider (DelegateActivator), Services = [Nop.Core.Data.IDataProvider], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [135]  {Activator = IEfDataProvider (DelegateActivator), Services = [Nop.Data.IEfDataProvider], Lifetime = Autofac.Core.Lifetime.CurrentScopeLifetime, Sharing = None, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [136]  {Activator = IDbContext (DelegateActivator), Services = [Nop.Data.IDbContext], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [137]  {Activator = PluginFinder (ReflectionActivator), Services = [Nop.Core.Plugins.IPluginFinder], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [138]  {Activator = MemoryCacheManager (ReflectionActivator), Services = [Nop.Core.Caching.ICacheManager, nop_cache_static (Nop.Core.Caching.ICacheManager)], Lifetime = Autofac.Core.Lifetime.RootScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [139]  {Activator = PerRequestCacheManager (ReflectionActivator), Services = [Nop.Core.Caching.ICacheManager, nop_cache_per_request (Nop.Core.Caching.ICacheManager)], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [140]  {Activator = WebWorkContext (ReflectionActivator), Services = [Nop.Core.IWorkContext], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [141]  {Activator = BackInStockSubscriptionService (ReflectionActivator), Services = [Nop.Services.Catalog.IBackInStockSubscriptionService], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [142]  {Activator = CategoryService (ReflectionActivator), Services = [Nop.Services.Catalog.ICategoryService], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [143]  {Activator = CompareProductsService (ReflectionActivator), Services = [Nop.Services.Catalog.ICompareProductsService], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope}  Autofac.Core.IComponentRegistration {Autofac.Core.Registration.ComponentRegistration}
+    [144]  {Activator = RecentlyViewedProductsSer
11 years ago
I have figured out the issue. :)

If you are having a similar issue, The solutions is to make sure you have
  the system.web.mvc.dll referenced from the packages folder not from the other locations. as  they might be a different version and the autofac code in bold below will return false



public static IRegistrationBuilder<object, ScanningActivatorData, DynamicRegistrationStyle>
            RegisterControllers(
                this ContainerBuilder builder,
                params Assembly[] controllerAssemblies)
        {
            return builder.RegisterAssemblyTypes(controllerAssemblies)
                .Where(t => typeof(IController).IsAssignableFrom(t) &&
                    t.Name.EndsWith("Controller", StringComparison.Ordinal));
        }
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.