我有一个自定义模块 Module1。在这个模块中,我引用了另一个自定义模块 Module2。上周一切正常。
今天早上我重新安装了 Orchard。从那时起,我一直收到此错误。
无法使用可用的服务和参数调用类型为“Module1”的“Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper”的构造函数:无法解析构造函数“Void .ctor(...)”的参数“Module2” .
知道如何解决此错误吗?
谢谢。
我有一个自定义模块 Module1。在这个模块中,我引用了另一个自定义模块 Module2。上周一切正常。
今天早上我重新安装了 Orchard。从那时起,我一直收到此错误。
无法使用可用的服务和参数调用类型为“Module1”的“Orchard.Environment.AutofacUtil.DynamicProxy2.ConstructorFinderWrapper”的构造函数:无法解析构造函数“Void .ctor(...)”的参数“Module2” .
知道如何解决此错误吗?
谢谢。
这意味着找不到某个接口的实现。可能发生了几件事:模块可能无法编译,或者您忘记了从 IDependency 派生接口。
如果您手动启用了模块,您可能会收到此错误。
如果是这样,请通过删除 App_Data\cache.dat 来修复它,然后回收应用程序池。
我知道这篇文章现在已经很老了,但只是为了链接可能导致所描述问题的任何可能的错误......这是我的错误。
我只是忘记从仪表板启用引用的模块。当然,这并没有阻止我添加项目引用和模块依赖项,让代码完美编译。
关键是,我引用的模块不包含任何内容类型定义。它只是一个旨在收集一些功能和常用实用程序的模块。这就是为什么我忘了启用它。
干杯。
我遇到过同样的问题。似乎我在构造函数中引用了具体类而不是接口。
public OrderService(
IRepository<Order> orderRepository,
ProductService productService,
ProductCategoryService productCategoryService
)
代替
public OrderService(
IRepository<Order> orderRepository,
IProductService productService,
IProductCategoryService productCategoryService
)
清单是:
例子:
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; }
}