System.DllNotFoundException:“无法加载 librdkafka 本机库。”在 ARM Windows 11 并行 MAC 操作系统上

问题描述 投票:0回答:1

我正在 Windows 11 ARM 虚拟机中运行 .NET 6 应用程序,并尝试使用 Confluence.Kafka 设置 Kafka 订阅者。但是,我不断收到此错误:

services.AddSingleton<ISubscriber<string>>(new KafkaSubscriber<string>(
    eventBusConfig.SubscriptionEngine, eventBusConfig.SubscriptionEngine.DeadLetterChannel));

应用程序似乎无法加载 librdkafka 本机库,这是 Kafka 运行所必需的。我已经尝试安装正确的 NuGet 包,但问题仍然存在。我的环境是基于 ARM 的,我怀疑这可能是架构问题。

.net macos parallels librdkafka
1个回答
0
投票

是的,出现这个问题是因为基于 ARM 的 Windows 没有对某些基于 x64 的库(如 librdkafka)的本机支持,而这正是 Confluence.Kafka 所依赖的。

由于 librdkafka 库主要是为 x64 架构构建的,并且它可能没有 ARM 本机二进制文件,因此解决方案是在基于 ARM 的 Windows 设备上以 x64 模拟模式运行应用程序。

ARM 上的 Windows 11 包含一项称为 x64 仿真的功能,该功能允许应用程序甚至在 ARM 架构上运行 x64 代码。以下是如何使 .NET 应用程序在 x64 模式下工作:

© www.soinside.com 2019 - 2024. All rights reserved.