Hi All,

I am having a problem with a customer pay plugin, I have been looking at it all day and I keep getting the following error


Server Error in '/' Application.
The view 'Nop.Plugin.Misc.CustomePayment' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
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.InvalidOperationException: The view 'Nop.Plugin.Misc.CustomePayment' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml

Source Error:


Line 8:  @if (!String.IsNullOrEmpty(Model.ConfigurationActionName))
Line 9:  {
Line 10:     @Html.Action(Model.ConfigurationActionName, Model.ConfigurationControllerName, Model.ConfigurationRouteValues);
Line 11: }
Line 12: else


Source File: c:\demowebsites\nop\Administration\Views\Plugin\ConfigureMiscPlugin.cshtml    Line: 10

Stack Trace:


[InvalidOperationException: The view 'Nop.Plugin.Misc.CustomePayment' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Themes/Lucid/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/MiscCustomePayment/Nop.Plugin.Misc.CustomePayment.vbhtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.cshtml
~/Administration/Views/Shared/Nop.Plugin.Misc.CustomePayment.vbhtml]
   System.Web.Mvc.ViewResult.FindView(ControllerContext context) +462
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +151
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +33
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +825460
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +265
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +825488
   System.Web.Mvc.Controller.ExecuteCore() +159
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
   System.Web.Mvc.<>c__DisplayClass4.<Wrap>b__3() +15
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Func`1 func) +41
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1443

[HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2515
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +242
   System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +94
   System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) +834
   System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) +123
   ASP._Page_Administration_Views_Plugin_ConfigureMiscPlugin_cshtml.Execute() in c:\demowebsites\nop\Administration\Views\Plugin\ConfigureMiscPlugin.cshtml:10
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +280
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +104
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +143
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +157
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +384
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +33
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +825460
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +265
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +825488
   System.Web.Mvc.Controller.ExecuteCore() +159
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

Here is the code I have put together

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Nop.Web.Framework.Mvc.Routes;

namespace Nop.Plugin.Misc.CustomePayment
{
    public partial class RouteProvider : IRouteProvider
    {
        public void RegisterRoutes(RouteCollection routes)
        {
            routes.MapRoute("Plugin.Misc.CustomePayment.Configure",
                 "Plugins/MiscCustomePayment/Configure",
                 new { controller = "MiscCustomePayment", action = "Configure" },
                 new[] { "Nop.Plugin.Misc.CustomePayment.Controllers" }
            );
        }
        public int Priority
        {
            get
            {
                return 0;
            }
        }
    }
}

@{
    Layout = "";
}
@using Nop.Web.Framework;
@using (Html.BeginForm())
{
<table class="adminContent">
    <tr>
        <td>
            @T("Plugins.Misc.CustomePayment.Description1")
            <ul>
                <li>@T("Plugins.Misc.CustomePayment.Description2")</li>
                <li>@T("Plugins.Misc.CustomePayment.Description3", "")</li>
                <li>@T("Plugins.Misc.CustomePayment.Description4", "")</li>
            </ul>
        </td>
    </tr>
</table>
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Routing;
using Nop.Core.Plugins;
using Nop.Services.Common;
using Nop.Services.Localization;
using Nop.Services.Security;

namespace Nop.Plugin.Misc.CustomePayment
{
    public class CustomePayment : BasePlugin, IMiscPlugin
    {


        public override void Install()
        {

            //locales
            this.AddOrUpdatePluginLocaleResource("Plugins.Misc.CustomePayment.Description1", "Actually configuration is not required. Just some notes:");
            this.AddOrUpdatePluginLocaleResource("Plugins.Misc.CustomePayment.Description2", "Ensure that permissions are properly configured on Access Control List page (disabled by default)");
            this.AddOrUpdatePluginLocaleResource("Plugins.Misc.CustomePayment.Description3", "To access service use {0}");
            this.AddOrUpdatePluginLocaleResource("Plugins.Misc.CustomePayment.Description4", "For mex endpoint use {0}");
            
            base.Install();
        }

        public override void Uninstall()
        {

            //locales
            this.DeletePluginLocaleResource("Plugins.Misc.CustomePayment.Description1");
            this.DeletePluginLocaleResource("Plugins.Misc.CustomePayment.Description2");
            this.DeletePluginLocaleResource("Plugins.Misc.CustomePayment.Description3");
            this.DeletePluginLocaleResource("Plugins.Misc.CustomePayment.Description4");
            base.Uninstall();
        }

        /// <summary>
        /// Gets a route for plugin 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 = "MiscCustomePayment";
            routeValues = new RouteValueDictionary {
                { "Namespaces", "Nop.Plugin.Misc.CustomePayment.Controllers" },
                { "area", null }
            };
        }

    }
}

I am getting errors, I also discover that I can't generate the models, views and controls from the right click menu as if I did if it was an MVC application I build through visual studio.

Thanks