2017-08-18 54 views
0

NopCommerce版本:3.9nopCommerce商店与自定义插件网络部署问题

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

商店使用可在插件中找到的首页。它依赖于插件中的RouteProvider类中称为“主页”的路由。它不会抱怨该路线,而是会抱怨在同一个文件中找到名为“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

我能够通过在Visual Studio的发布弹出对话框的设置选项卡上选择文件发布选项下的'删除目标附加文件'复选框来解决此问题。我想象一个旧文件没有被覆盖并导致问题。

0

nopCommerce的“主页”的路线是registred这样

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

检查您的加载顺序:如果您的注册不先打,除去nopCommerce“主页”的路线,并添加你的还是你先用加IRouteProvider的优先权属性。

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

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