C# 4.10具有NuGet软件包参考的插件未正确部署

C# 4.10具有NuGet软件包参考的插件未正确部署,c#,nuget,nopcommerce,nopcommerce-4.1,C#,Nuget,Nopcommerce,Nopcommerce 4.1,我有一个简单的nopCommerce 4.10插件,它在部署和加载时无法定位通过Nuget包引用的程序集 例外:插件“我的插件”。无法加载文件或程序集 'IdentityServer4,版本=2.1.1.0,区域性=中性, PublicKeyToken=null'。系统找不到指定的文件 如果我将nuget包的程序集直接复制到项目中,并将其视为内容进行部署,那么程序集就会被找到并加载,但这是有漏洞的,不可能以这种方式工作 我可以看到Nop.Plugin.Payments.Square插件使用Res

我有一个简单的nopCommerce 4.10插件,它在部署和加载时无法定位通过Nuget包引用的程序集

例外:插件“我的插件”。无法加载文件或程序集 'IdentityServer4,版本=2.1.1.0,区域性=中性, PublicKeyToken=null'。系统找不到指定的文件

如果我将nuget包的程序集直接复制到项目中,并将其视为内容进行部署,那么程序集就会被找到并加载,但这是有漏洞的,不可能以这种方式工作

我可以看到Nop.Plugin.Payments.Square插件使用RestSharp,但是它本身并没有引用Nuget包,而是作为插件目录根目录中程序集的副本,就像我在解决方法中所做的那样


因此,问题是-插件中引用的nuget软件包应该如何部署和解决?

我的最后一个解决方案是使用plugin.csproj中的
CopyLocalLockFileAssemblys

<PropertyGroup>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>

真的
它将复制所有引用,不仅是NuGet包,插件的工件将相当大,但它可以工作


我正试图找到更好的方法,但还没有找到运气。

这个问题解决了吗?这是目前首选的解决方案。如果查看内置插件的定义(在csproj中),您会发现上面的注释为false:将此参数设置为true,以将DLL从NuGet缓存复制到项目的输出。如果插件具有nuget包,则需要将此参数设置为true,以确保DLL从nuget缓存复制到项目的输出