f# - RdKafka 安装程序在 Visual Studio 中找不到/识别 librdkafka

标签 f# nuget apache-kafka visual-studio-2017 paket

问题: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 包/将其包含在路径中

以上都没有成功

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

最佳答案

因此,事实证明我团队中的其他人想出了如何使这项工作正常进行的方法,尽管诚然这有点像 hack。 VS 允许预构建事件(通过右键单击您的项目 > 属性 > 构建事件 > 编辑预构建找到)。在那里我加入了以下内容:

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

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

关于f# - RdKafka 安装程序在 Visual Studio 中找不到/识别 librdkafka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38642582/

相关文章:

tfs - "Nuget pack"似乎忽略了 BasePath 参数

ssl - 是否可以在没有 ssl 验证的情况下推送到 nuget 存储库?

jdbc - 使用 kafka-connect 从多个主题更新到多个表

apache-spark - 通过 PySpark 在 Kafka-Spark Structured Streaming 集成中遇到 NoClassDefFoundError 错误

f# - F#在实际处理int64时假设int

f# - 使用 FSyacc 解析期间的有意义的错误

f#:签名文件导致 Intellisense 提示?

algorithm - 我的树遍历代码有什么问题?

c# - 如何使用 NuGet 打包命令行工具?

hdfs - 从kafka写入hdfs(使用cloudera cdk?)