【发布时间】:2019-01-03 10:10:37
【问题描述】:
我有一个引用 C++ dll 的 .Net 标准项目
现在我正在使用 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 标准项目,答案并不正确。它也没有解释这如何与多个目标一起工作。
另外,我是保留我的 DllImports,还是需要更改它们?现在我正在使用 dll 的绝对文件路径:
internal const string DLL = "D:\\filepath\\mydll.dll";
[DllImport(DLL)]
internal static extern int MyMethod();
【问题讨论】:
-
如何在 .csproj 文件中创建多个目标并编写一个 MSBuild 脚本来调用所有目标,这样您就可以在任何您希望它们用于 nuget 的地方为不同平台编译 dll
标签: c# c++ nuget interop .net-standard-2.0