【问题标题】:How to create Nuget package with C# and C++ libraries built with different options?如何使用使用不同选项构建的 C# 和 C++ 库创建 Nuget 包?
【发布时间】:2015-03-12 13:19:53
【问题描述】:

有一个project that wraps V8 engine into C# library。它的 nuget 包坏了,我想修复它。创建一个包似乎很容易,并且有记录的方法可以为不同的 .NET 版本打包不同的 C# dll。但是,我不知道如何使用 C++ 和 C# 代码打包 .dll,这些代码可以使用不同的选项构建:

  • x64 或 x86 和 not“任何 CPU”
  • MS Visual C++ 2010/2012/2013
  • 调试或发布
  • .NET 4.0/...

我找到了this thread,似乎可以使用带有MSBuild 命令的.targets 文件。然后我读到 in the docs 说 MSBuild 方式很旧,不推荐。那我该怎么办?

还有一个问题:如果这个包依赖于MSVC++,如何指定呢?如何让包消费者选择特定版本的 dll(针对 MSVC++2010、2012 或 2013 构建)?我想打包msvcr*.dll不是个好主意。

【问题讨论】:

    标签: c# c++ visual-c++ nuget nuget-package


    【解决方案1】:

    看看 SQLite 包如何部署它们的 DLL。对于 2.x 和更早版本的 NuGet,您需要编写一些 powershell 代码来检查 Visual Studio 的版本并将您的更改手动应用于项目。

    我们正在努力针对要在 NuGet v3 中部署的更新这一确切问题提供更优雅的解决方案

    【讨论】:

    • 谢谢,我会看看 SQLite。更优雅的解决方案 - 您是在谈论 CoApp 中的“枢轴”之类的东西吗?
    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2020-12-07
    相关资源
    最近更新 更多