Reference 带有多个DLL';s

Reference 带有多个DLL';s,reference,nuget,nuget-package,Reference,Nuget,Nuget Package,我已经通过nuget package Explorer创建了一个包含以下内容的nuget包 lib -- CPPLib.dll -- DotNetWrapper.dll CPPLib.dll是带有逻辑实现的主库(在本机C++中),而DotNetWrapper.dll是将在C#项目中引用的包装器 当我尝试安装这个nuget软件包时,出现了以下错误 Install failed. Rolling back... Install-Package : Failed to a

我已经通过nuget package Explorer创建了一个包含以下内容的nuget包

lib
   -- CPPLib.dll
   -- DotNetWrapper.dll
CPPLib.dll是带有逻辑实现的主库(在本机C++中),而DotNetWrapper.dll是将在C#项目中引用的包装器

当我尝试安装这个nuget软件包时,出现了以下错误

    Install failed. Rolling back...
    Install-Package : Failed to add reference to 'CPPLib.dll'.
    At line:1 char:16
    + install-package <<<<  -id MyPackage
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
然后可以安装包,但项目将不会生成,因为DotNetWrapper.dll无法在同一文件夹中找到CPPLib.dll


我怎样才能避开这个问题?是否可以以某种方式将所有内容都放在lib文件夹中,并且只“公开”包中的DotNetWrapper.dll?

您需要处理nuspec文件中的文件和引用:


...
因此,您定义了要放入带有“files”的包中的文件,并告诉nuget您要添加的唯一引用是带有“references”的包装DLL


请注意,这些标记位于不同的级别-“引用”必须位于“元数据”中,但“文件”与“元数据”是同级的。

您需要处理nuspec文件中的文件和引用:


...
因此,您定义了要放入带有“files”的包中的文件,并告诉nuget您要添加的唯一引用是带有“references”的包装DLL


请注意,这些标签位于不同的级别——“引用”必须位于“元数据”中,但“文件”与“元数据”是同级的。

不,不能混用。您需要创建两个单独的包。不,您不能混合使用它们。您需要创建两个单独的包。
   content
       -- CPPLib.dll
   lib
       -- DotNetWrapper.dll