I am trying to develop my first Nopcommerce plugin and I cannot figure out where I have gone wrong, I have looked at the two classes involved in creating a configuration page and they are both public. I have cleaned the solution (confirmed content in both the plugin's folder and also the plugin bin folder has no content), rebuilt the solution, touched the global.asax file both whilst running the site through debug in VS and also with the site not running through debug in VS, rebooted the PC and deleted all content from both the Windows temp and my user profile temp folders and still I get the does not implement IController error. Could anybody help as I am lost on what the cause is now.
** Controller **
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using Nop.Web.Framework.Controllers;
namespace Nop.Plugin.Website.Estimator.Controllers
{
/// <summary>
/// Controller for the plugin
/// </summary>
public class EstimatorPluginController : BasePluginController
{
[AdminAuthorize]
public ActionResult Configure()
{
return View("~/Plugins/Website.Estimator/Views/Configure.cshtml");
}
}
}
** Plugin Interface **
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Routing;
using Nop.Core.Plugins;
using Nop.Services.Common;
namespace Nop.Plugin.Website.Estimator
{
/// <summary>
/// Implements IMiscPlugin interface
/// </summary>
public class EstimatorPlugin : BasePlugin, IMiscPlugin
{
/// <summary>
/// Gets a route for provider configuration
/// </summary>
/// <param name="actionName">Action name</param>
/// <param name="controllerName">Controller name</param>
/// <param name="routeValues">Route values</param>
///
public void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
{
actionName = "Configure";
controllerName = "EstimatorPluginController";
routeValues = new RouteValueDictionary()
{
{ "Namespaces", "Nop.Plugin.Website.Estimator.Controllers" },
{ "area", null }
};
}
}
}
** The View **
https://ibb.co/bQrGow
@{
Layout = "";
}
@using Nop.Web.Framework;
@using Nop.Plugin.Website.Estimator;
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-body">
<div class="col-md-12">
<h1>Estimator Plugin</h1>
</div>
</div>
</div>
</div>
}