我正在使用nop commerce。
我向Catalog Controller添加了一个新的服务类。
然后它出现了这个错误。
No parameterless constructor defined for this object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: No parameterless constructor defined for this object.
Source Error:
Line 3: @foreach (var widget in Model)
Line 4: {
Line 5: @Html.Action(widget.ActionName, widget.ControllerName, widget.RouteValues)
Line 6: }
Source File: f:\project\sitename\Presentation\Nop.Web\Views\Widget\WidgetsByZone.cshtml Line: 5
我改变了这个控制器。
public CatalogController(ICategoryService categoryService,
IManufacturerService manufacturerService)
到
public CatalogController(ICategoryService categoryService,
IManufacturerService manufacturerService, IbookService bookService)
然后它出现了错误。
如何解决?
答案 0 :(得分:3)
如果你在这里使用的 IProductService 是原始的nopCommerce IProductService,我找不到它会抛出错误的原因。但如果它是您自己编写的服务,那么您需要在 DependencyRegistrar.cs 中注册它。您可以在nopCommerce中查找有关如何注册自己的依赖项的当前示例。 :)
答案 1 :(得分:1)
如果您在ProductService或其任何依赖项中进行了更改而导致其中一个更改无法加载,也可能发生这种情况。注释掉ProductService构造函数中的参数,如果它有效,则取消注释每个参数,直到再次中断它为止。我不知道找出哪个服务是问题的更好方法。