Error - None of the constructors found with 'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper'
Asked Answered
E

5

8

I have a custom module, Module1. In this module, I am referencing another custom module, Module2. Everything was working fine last week.

I did a fresh re-install of Orchard this morning. Since then, I have been getting this error.

None of the constructors found with 'Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper' on type 'Module1' can be invoked with the available services and parameters: Cannot resolve parameter 'Module2' of constructor 'Void .ctor(...)'.

Any idea how to fix this error?

Thanks.

Emanuelemanuela answered 29/5, 2012 at 23:3 Comment(0)
M
4

That means that an implementation of some interface could not be found. Several thing can have happened: a module may have failed to compile, or you forgot to make an interface derive from IDependency.

Multiphase answered 29/5, 2012 at 23:51 Comment(0)
G
3

I know the post is quite old now, but just to link any possible mistake that could cause the described problem... here is my mistake.

I simply forgot to enable the referenced module from the dashboard. Of course that didn't prevent me to add a project reference and module dependency, having the code compiling perfectly .

The point is, my referenced module doesn't contain any content type definition. It is just a module conceived to collect some functionality and common utilities. That's why I forgot to enable it.

Cheers.

Grose answered 29/1, 2014 at 11:47 Comment(0)
P
3

You can get this error if you manually enabled your modules.

If so, fix it by deleting App_Data\cache.dat and then recycle the app pool.

Phyllous answered 11/5, 2014 at 21:54 Comment(0)
U
2

I had the same issue. It seems that I referenced the concrete class and not the interface in my constructor.

        public OrderService(
            IRepository<Order> orderRepository,
            ProductService productService,
            ProductCategoryService productCategoryService
        )

Instead of

        public OrderService(
            IRepository<Order> orderRepository,
            IProductService productService,
            IProductCategoryService productCategoryService
        )
Ureide answered 16/5, 2013 at 13:34 Comment(0)
C
1

checklist is:

  1. Interface derive from IDependency
  2. Implementation derive from Interface
  3. Constructor references the Interface
  4. Build All and check if all referenced modules compile
  5. Enable module in Admin panel

example:



    public class myController : Controller{
        private readonly IMyService _myService;

        public myController(
            IMyService myService
        ) {
        _myService = myService;
        }
    }



    public interface IMyService : IDependency
    {
        int GetOne();
    }



    public class MyService: IMyService 
    {
        public MyService()
        { // init code }

        public int GetOne()
        { return 1; }
    }

Crevasse answered 2/2, 2016 at 13:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.