nopCommerce商店有自定义插件Web部署问题

时间:2017-08-18 19:46:18

标签: asp.net-mvc-5 nopcommerce nopcommerce-3.90

NopCommerce版本:3.9

我使用NopCommerce 3.9设计了一个网上商店。我添加的任何代码都在插件中。

商店使用可在插件中找到的首页。它依赖于插件中RouteProvider类中名为“home”的路由。它没有抱怨该路由,而是抱怨在同一个文件中找到名为“RegisterVendor”的路由。这是两条路线

routes.MapRoute("home",
            "",
            new { controller = "AoiVendorsHome", action = "Index" },
            new[] { "Nop.Plugin.Other.AoiVendors.Controllers" });

 routes.MapRoute("RegisterVendor",
            "register/designer",
            new { controller = "AoiExchange", action = "RegisterVendor" },
            new[] { "Nop.Plugin.Other.AoiVendors.Controllers" });

插件安装正确,一切都在本地计算机上完全按预期工作。

问题是在部署到网络后无法找到路线。这是一个imgur链接,按照它查看error

重新启动服务器会将错误修复一段时间,但最终会回来。每次我重新部署时都会返回,之后不重新启动服务器。

有没有人有任何想法?

谢谢。

2 个答案:

答案 0 :(得分:0)

nopCommerce的“HomePage”路线以这种方式注册

//home page
routes.MapLocalizedRoute("HomePage",
                         "",
                         new { controller = "Home", action = "Index" },
                         new[] { "Nop.Web.Controllers" });

检查您的加载顺序:如果您的注册没有先命中,请删除nopCommerce“HomePage”路由并添加您的路由或首先使用IRouteProvider的Priority属性添加您的路由。

MVC使用首先匹配请求的路由。

关于部署问题,请确保您的插件已部署到〜/ Plugins / {yourPluginFolder},而不是Nop.Web的bin文件夹。可以加载〜/ bin文件夹中的插件但不保证。

答案 1 :(得分:0)

我能够通过在visual studio的“发布弹出”对话框的“设置”选项卡上选择“文件发布选项”下的“删除目的地中的其他文件”复选框来解决此问题。我想,一个较旧的文件没有被覆盖并导致问题。