自定义 nopCommerce 插件在本地构建后安装正常,但在通过界面上传后不会从 .zip 中提取
Custom nopCommerce Plugin Installs fine after building locally, but won't extract from .zip after uploading through interface
我构建了一个简单的 nopCommerce 插件,并且能够在本地使用 Visual Studio 和 运行 nopCommerce 构建时成功安装它。但是,当我卸载插件并尝试使用上传界面上传我的插件的 .zip 文件时,出现以下错误:
The archive should contain only one root plugin or theme directory. For example, Payments.PayPalDirect or DefaultClean. To upload multiple items, the archive should have the 'uploadedItems.json' file in the root.
这是我的插件 JSON:
{
"Group": "Misc",
"FriendlyName": "Sort Manufacturers by Alphabet",
"SystemName": "Misc.SortManufacturersByAlph",
"Version": "1.01",
"SupportedVersions": [ "4.30" ],
"Author": "My Name",
"DisplayOrder": 1,
"FileName": "Nop.Plugin.Misc.SortManufacturersByAlph.dll",
"Description": "Allows sorting of Manufacturers by alphabet. Go to Configuration->Settings->All Settings->SortManufacturersByAlph "
}
这是我的 .zip 目录的结构:
我注意到其他插件在其构建目录中不包含 Nop.Core、Nop.Data 或 Nop.Services DLL(这可能是问题所在吗?)。我可以通过将以下内容添加到我的 .csproject 文件中来删除它们:
<ItemGroup>
<ProjectReference Include="..\..\Presentation\Nop.Web.Framework\Nop.Web.Framework.csproj" />
<ClearPluginAssemblies Include="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" />
</ItemGroup>
然而,这并没有解决 .zip 上传问题。
重申一下,插件通过 Visual Studio 构建成功,当构建的文件位于 Presentation/Plugins 文件夹中时,我能够安装它,只是 .zip 上传安装方法不是'没有工作。
我想我明白了。
我不确定问题出在哪里,但似乎与我的 Mac 压缩文件夹的方式有关。
我使用此工具 https://freetoolonline.com/zip-file.html 上传我构建的项目并以这种方式压缩它。我能够从此 zip 成功安装插件。
不完全确定问题出在哪里,但希望这对以后的人有所帮助。
我知道这是一个老问题,但我在 windows 上也遇到了类似的问题。当我使用 windows 的 "send to compressed" 功能并尝试上传插件时,我收到了相同的错误消息。我使用 7zip 进行压缩和上传,效果很好。我怀疑是 windows 的压缩机制生成了与 NopCommerce 实现该功能的方式不兼容的结构。我希望这可以帮助面临类似问题的人。
我构建了一个简单的 nopCommerce 插件,并且能够在本地使用 Visual Studio 和 运行 nopCommerce 构建时成功安装它。但是,当我卸载插件并尝试使用上传界面上传我的插件的 .zip 文件时,出现以下错误:
The archive should contain only one root plugin or theme directory. For example, Payments.PayPalDirect or DefaultClean. To upload multiple items, the archive should have the 'uploadedItems.json' file in the root.
这是我的插件 JSON:
{
"Group": "Misc",
"FriendlyName": "Sort Manufacturers by Alphabet",
"SystemName": "Misc.SortManufacturersByAlph",
"Version": "1.01",
"SupportedVersions": [ "4.30" ],
"Author": "My Name",
"DisplayOrder": 1,
"FileName": "Nop.Plugin.Misc.SortManufacturersByAlph.dll",
"Description": "Allows sorting of Manufacturers by alphabet. Go to Configuration->Settings->All Settings->SortManufacturersByAlph "
}
这是我的 .zip 目录的结构:
我注意到其他插件在其构建目录中不包含 Nop.Core、Nop.Data 或 Nop.Services DLL(这可能是问题所在吗?)。我可以通过将以下内容添加到我的 .csproject 文件中来删除它们:
<ItemGroup>
<ProjectReference Include="..\..\Presentation\Nop.Web.Framework\Nop.Web.Framework.csproj" />
<ClearPluginAssemblies Include="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" />
</ItemGroup>
然而,这并没有解决 .zip 上传问题。
重申一下,插件通过 Visual Studio 构建成功,当构建的文件位于 Presentation/Plugins 文件夹中时,我能够安装它,只是 .zip 上传安装方法不是'没有工作。
我想我明白了。
我不确定问题出在哪里,但似乎与我的 Mac 压缩文件夹的方式有关。
我使用此工具 https://freetoolonline.com/zip-file.html 上传我构建的项目并以这种方式压缩它。我能够从此 zip 成功安装插件。
不完全确定问题出在哪里,但希望这对以后的人有所帮助。
我知道这是一个老问题,但我在 windows 上也遇到了类似的问题。当我使用 windows 的 "send to compressed" 功能并尝试上传插件时,我收到了相同的错误消息。我使用 7zip 进行压缩和上传,效果很好。我怀疑是 windows 的压缩机制生成了与 NopCommerce 实现该功能的方式不兼容的结构。我希望这可以帮助面临类似问题的人。