2

我是 nopcommerce 的新手,我正在开发一个插件。

我已经部分创建了我的插件,同时我发现如果我更改插件代码中的任何内容(视图、模型、控制器、服务等),那么我必须卸载我的插件,然后安装才能看到变化。

这确实是一项繁琐的任务。

有没有其他替代方法可以查看更改,特别是对于我们只需要设置设计的设计视图。

如果只需在浏览器中重新加载就可以看到更改,那么这对所有人来说都很棒。

如果有人对此有任何想法,请回复。

所有答案都被接受。

提前致谢。

4

4 回答 4

2

据我所知,所有已安装的插件都缓存到内存中,因此只需覆盖 Plugins 文件夹中的 .dll 即可

  1. 使用 IIS/WebMatrix 重新启动您的应用程序
  2. 转到管理>配置>插件并在插件视图的右上角点击“重新加载插件列表”
  3. 管理页面右上角的“重新启动应用程序”或什至“清除缓存”也可能有效。试试看。
于 2013-10-24T18:38:23.897 回答
0

我有一个批处理文件,每次我想在本地 IIS 上部署对插件的更改时都会运行该批处理文件。这可能是矫枉过正,但它的工作原理。我把它放在我的桌面上。当我想测试更改时,我右键单击并“以管理员身份运行”。

@ECHO OFF

ECHO Stopping IIS
iisreset /stop

ECHO Clearing Temporary ASP.Net Files (Server cache)
for /d %%i in ("%systemroot%\Microsoft.Net\Framework\*") do for /d %%j in ("%%i\Temporary ASP.Net Files\*") do RD /q/s "%%j"
for /d %%i in ("%systemroot%\Microsoft.Net\Framework64\*") do for /d %%j in ("%%i\Temporary ASP.Net Files\*") do RD /q/s "%%j"

ECHO Building MyPlugin
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /build Debug "C:\Path_to_Nop_Source\Plugins\MyPlugin\MyPlugin.csproj"

ECHO Deploying MyPlugin
xcopy "C:\Path_to_Nop_Source\Presentation\Nop.Web\Plugins\MyPlugin" "C:\Path_To_WebRoot\Plugins\MyPlugin" /D /Y

ECHO Restarting IIS
iisreset /start

ECHO Done
pause
于 2014-05-15T14:22:59.450 回答
0

您应该清理解决方案,然后在更改插件代码后构建插件。

于 2013-10-27T20:05:44.300 回答
0

当我遇到这个问题时,我尝试重新启动从应用程序开始的所有内容,然后是应用程序池甚至 iis。不幸的是,它没有用。然而,起作用的是再次重建站点并再次复制它(主要是所有 nop.core.dll、nop.web.dll 等)。我第一次确实复制了该站点的核心 dll,但我猜插件是在这些之后复制的。我认为重要的部分是核心 dll 需要重新编译,以便它们看起来与 iis 不同,并导致已经加载的插件从内存中卸载。

我很确定重新启动整个服务器也可以,但是谁愿意这样做呢?

PS我正要问同样的问题,因为我在谷歌搜索时找不到这个(可能是因为标题有点太具体了)。我打算将我的插件命名为复制较新版本后不更新。让我想到这个问题的是你写问题时出现的类似问题块。

更新:所以我发现有时重建和替换 nop 核心库是不够的。然而,在这种情况下,使用管理面板中的“重新加载插件列表”选项就可以了。还有一次我试图只使用该选项,但直到我更换了核心库,它才起作用。因此,要重新加载插件,可能需要其中一个或两个步骤。

于 2016-07-26T14:56:04.643 回答