3

問題: 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 パッケージを移動する/パスに含める

上記のすべてが成功しない

続行する方法について何か提案はありますか?

4

1 に答える 1

1

したがって、私のチームの他の誰かがこれを機能させる方法を考え出したことがわかりましたが、確かにそれはちょっとしたハックです。VS では、ビルド前のイベントが可能です (プロジェクトを右クリックして [プロパティ] > [ビルド イベント] > [ビルド前の編集] を選択すると見つかります)。そして、そこに私は以下を落としました:

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

そして、そのように、それは機能します。上記の説明は、ビルドが完了する直前にプロジェクトのターゲット ディレクトリにコピーすることで、直接参照できないネイティブ dll をプルすることです。願わくば、これが、私のようにライブラリを参照可能な形式に書き直すことを考えていない将来の人々の助けになることを願っています。

于 2016-07-29T16:26:32.137 に答える