从.Net Standard项目和本机dll创建nuget包

时间:2019-01-03 10:10:37

标签: c# c++ nuget interop .net-standard-2.0

我有一个.NET Standard项目,该项目引用了C ++ dll

目前,我正在使用DllImport使其正常工作。

我想创建一个Nuget程序包,该程序包附带所有目标的相关dll。

我想必须为所有目标(Windows x64,Windows x86,Linux等)构建C ++库。很好

现在我需要以某种方式将它们全部打包到nuget包中,但我不确定如何做到这一点

How to add C++ library in a .NET Core project是相似的,但是对于使用新样式csproj并使用dotnet cli而不是nuget cli的.Net Standard项目,答案并不正确。同样,它也没有解释它如何与多个目标一起使用。

此外,我是否保留我的DllImports,还是需要更改它们?现在,我正在使用dll的绝对文件路径,如下所示:

internal const string DLL = "D:\\filepath\\mydll.dll";

[DllImport(DLL)]
internal static extern int MyMethod();

1 个答案:

答案 0 :(得分:0)

您可以为this等多个目标创建nuget程序包,并将c ++ dll-s添加为content,以便在编译过程中将其复制到构建输出文件夹,并且可以使用{{1 }}。