【问题标题】:Create a nuget package from .Net Standard project and Native dlls从 .Net 标准项目和本机 dll 创建一个 nuget 包
【发布时间】: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


【解决方案1】:

您可以为多个目标创建 nuget 包,例如 this,并将 c++ dll-s 添加为 content,以便在编译期间将其复制到构建输出文件夹,您可以使用 DLLImport

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    相关资源
    最近更新 更多