找不到方法:'System.Collections.Generic.IList`1 <nop.services.cms.iwidgetplugin> </nop.services.cms.iwidgetplugin>

时间:2014-01-24 16:23:34

标签: c# asp.net e-commerce nopcommerce

我编写了我的nopcommerce解决方案,现在我收到了这个错误:

找不到方法:'System.Collections.Generic.IList`1 Nop.Services.Cms.IWidgetService.LoadActiveWidgetsByWidgetZone(System.String)'。

它破坏的代码是:

 public static MvcHtmlString Widget(this HtmlHelper helper, string widgetZone)
        {
            return helper.Action("WidgetsByZone", "Widget", new { widgetZone = widgetZone });
        }

这是什么意思?它说的方法不存在:

[ChildActionOnly]
        public ActionResult WidgetsByZone(string widgetZone)
        {
            //model
            var model = new List<RenderWidgetModel>();

            //var widgets = _widgetService.LoadActiveWidgetsByWidgetZone(widgetZone);
            var widgets = _widgetService.LoadActiveWidgetsByWidgetZone(widgetZone, _storeContext.CurrentStore.Id);
            foreach (var widget in widgets)
            {
                var widgetModel = new RenderWidgetModel();

                string actionName;
                string controllerName;
                RouteValueDictionary routeValues;
                widget.GetDisplayWidgetRoute(widgetZone, out actionName, out controllerName, out routeValues);
                widgetModel.ActionName = actionName;
                widgetModel.ControllerName = controllerName;
                widgetModel.RouteValues = routeValues;

                model.Add(widgetModel);
            }

            return PartialView(model);
        }

还值得注意的是,解决方案清理和构建工作并且代码运行正常,如果停止然后再次运行它会中断,

1 个答案:

答案 0 :(得分:1)

在这种情况下,您通常需要手动删除以下内容(通过Windows资源管理器):

  1. 演示\ Nop.Web \ BIN
  2. 演示\ Nop.Web \ OBJ
  3. 演示\ Nop.Web \插件
  4. 然后在Visual Studio中进行重建。