我有一个简单的nopCommerce 4.10插件,在部署和加载时无法找到通过Nuget包引用的程序集。
例外:插件'我的插件'。无法加载文件或程序集'IdentityServer4,Version = 2.1.1.0,Culture = neutral,PublicKeyToken = null'。该系统找不到指定的文件。
如果我将nuget软件包的程序集直接复制到项目中并将其视为内容并部署,则会找到并加载程序集,但这很麻烦,并且不能像这样工作。
我可以看到Nop.Plugin.Payments.Square插件使用RestSharp但是它本身不引用Nuget包,而是作为插件目录根目录中程序集的副本,就像我在我的解决方法中所做的那样。
所以问题是 - 如何在插件中引用的nuget包应该被部署和解决?
我的最后一个解决方案是在plugin.csproj中使用CopyLocalLockFileAssemblies
:
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
它将复制所有引用,不仅仅是NuGet包,插件的工件也会很大,但它可以工作。
我想找到更好的方法,但还没有运气。