RdKafka setup не находит / не распознает либрдкафки в Visual Studio

Проблема: программа установки RdKafka не находит / не распознает librdkafka в Visual Studio 15

Контекст:
Чтобы начать работать с RdKafka в Visual Studio 15, я запустил общую команду установки paket+nuget (через powershell): paket add nuget rdkafka
После этого я вижу, что RdKafka была успешно установлена ​​в моем месте пакета решений. Я также вижу пакет librdkafka подарок.
Добавление RdKafka в качестве ссылки в моем решении также работает (я не могу добавить библиотеки librdkafka из-за сообщения об ошибке из IDE).
Однако попытка запустить что-либо с помощью librdkafka приводит к тому, что библиотека не найдена.

Что я пробовал:

  • Полное удаление rdkafka и переустановка / обновление / восстановление пакета
  • Очистка + восстановление решения в IDE
  • Перемещение пакета librdkafka вокруг / включая его в пути

Все вышеперечисленное безуспешно

Любые предложения о том, как поступить?

1 ответ

Решение

Таким образом, оказывается, кто-то еще в моей команде понял, как сделать эту работу, хотя по общему признанию это - немного хака. VS позволяет предварительно собирать события (можно найти, щелкнув правой кнопкой мыши на вашем проекте> Свойства> События сборки> Изменить предварительную сборку). И там я упал в следующем:

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

И просто так, это работает. Объяснение вышесказанного заключается в том, что мы извлекаем собственные библиотеки DLL, на которые нельзя напрямую ссылаться, копируя их в целевой каталог наших проектов непосредственно перед завершением сборки. Надеюсь, это поможет некоторым будущим людям, которые не рассматривают возможность переписать библиотеку в удобную форму, как я.

Другие вопросы по тегам