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, на которые нельзя напрямую ссылаться, копируя их в целевой каталог наших проектов непосредственно перед завершением сборки. Надеюсь, это поможет некоторым будущим людям, которые не рассматривают возможность переписать библиотеку в удобную форму, как я.