3

问题:RdKafka 设置在 Visual Studio 15 中找不到/识别 librdkafka

上下文:
为了在 Visual Studio 15 中开始使用 RdKafka,我运行了通用的 paket+nuget 设置命令(通过 powershell):paket add nuget rdkafka
在此之后,我看到 RdKafka 已成功安装在我的解决方案包位置。我还看到了一个 librdkafka 包。
在我的解决方案中添加 RdKafka 作为参考也可以(由于来自 IDE 的错误消息,我无法添加 librdkafka dll)。
但是,尝试使用 librdkafka 运行任何东西都会导致找不到库。

我试过的:

  • 完全删除 rdkafka 并重新安装/更新/恢复包
  • 在 IDE 中清理 + 重新构建解决方案
  • 移动 librdkafka 包/将其包含在路径中

以上都没有成功

关于如何进行的任何建议?

4

1 回答 1

1

所以,事实证明我团队中的其他人想出了如何使这项工作,尽管承认它有点像黑客。VS 允许预构建事件(通过右键单击您的项目 > 属性 > 构建事件 > 编辑预构建来找到)。在那里我放弃了以下内容:

{xcopy /y /d /f "$(ProjectDir)..\packages\RdKafka.Internal.librdkafka\runtimes\win7-x64\native*.*" "$(TargetDir)"}

就这样,它起作用了。上面的解释是我们在构建完成之前通过将它们复制到我们的项目目标目录中来提取无法直接引用的本机 dll。希望这可以帮助一些未来的人,他们不会像我一样考虑将库重写为可引用的形式。

于 2016-07-29T16:26:32.137 回答