问题:RdKafka安装程序在Visual Studio 15 中找不到/无法识别librdkafka
上下文:
为了在visualstudio15中开始使用RdKafka,我运行了通用的paket+nuget setup命令(通过powershell):paket add nuget rdkafka
之后,我看到RdKafka已经成功安装在我的解决方案包位置。我还看到了一个librdkafka包
在我的解决方案中添加RdKafka作为引用也同样有效(由于IDE发出错误消息,我无法添加librdkafka dll)
然而,尝试使用librdkafka运行任何程序都会导致找不到库。
我尝试过的:
- 完全删除rdkafka并重新安装/更新/恢复paket
- 清洁+在IDE中重新构建解决方案
- 移动librdkafka包/将其包含在路径中
以上所有都不成功
对如何进行有什么建议吗?
所以,我团队中的其他人发现了如何实现这一点,尽管无可否认,这有点像黑客。VS允许预构建事件(右键单击项目>属性>构建事件>编辑预构建即可找到)。在那里,我加入了以下内容:
{xcopy/y/d/f"$(ProjectDir)..\packages\RdKafka.Interal.libdkafka\runtimes\win7-x64\native*.*"$(TargetDir)"}
就这样,它起作用了。对以上内容的解释是,在构建完成之前,我们通过将无法直接引用的本地dll复制到项目目标目录中来提取它们。希望这能帮助一些未来的人,他们不会像我那样考虑将图书馆改写成可引用的形式。