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
重新启动服务器会将错误修复一段时间,但最终会回来。每次我重新部署时都会返回,之后不重新启动服务器。
有没有人有任何想法?
谢谢。
答案 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的“发布弹出”对话框的“设置”选项卡上选择“文件发布选项”下的“删除目的地中的其他文件”复选框来解决此问题。我想,一个较旧的文件没有被覆盖并导致问题。