3

Visual Studio ソリューションを作成していて、名前空間 Kafka.Client、Kafka.Client.Producers.Parititioning、Kafka.Client.IntegrationTests などを Main() メソッドで作成したプログラム ファイルに追加しようとしています。私は Kafka.Client を持っておりKafka.Client.IntegrationTests、ソリューション エクスプローラーに従って、このプログラム ファイルの参照に記載されています。コードは次のとおりです。

using Kafka.Client;
using Kafka.Client.IntegrationTests;
using Kafka.Client.Producers.Partitioning;
using Kafka.Client.Utils;
using Kafka.Client.ZooKeeperIntegration;

namespace ConsoleApplication2 {
    class Program {
        static void Main(string[] args) {
        //code here
        }
    }
}

問題は、「ソリューションの再構築」または「ソリューションのデバッグ」を試みると、前述の「using」行で「型または名前空間名 'Kafka' が見つかりませんでした (using ディレクティブまたはアセンブリが不足していますか?)」というエラーが表示されることです。参照?)" 私はこれにかなりの時間を費やしましたが、何をする必要があるかについていくつかの指針をいただければ幸いです。

4

3 に答える 3

3

using は、実際にはプロジェクトに何も「インクルード」しません。常に完全な名前空間を入力する必要がないようにするだけです。したがって、エラーは明らかに他のプロジェクトを参照しています。

Kafka プロジェクトを最初にビルドする必要があります。そのため、最初に Kafka プロジェクトを正常にビルドできることを確認してください。

Kafka が同じプロジェクトにない場合は、dll への参照を追加したことを確認し、「ローカルにコピー」が true であることを確認してください。

dll を参照として追加するには、ソリューション エクスプローラーで ConsoleApplication2 を右クリックし、[参照の追加] をクリックしてから、kafka プロジェクトによって出力された実際の dll を参照して見つけます。

于 2013-11-05T21:16:07.367 に答える
1

これらは別のクラス ライブラリまたは他のプロジェクトのように聞こえます。その場合はproject reference、メイン プロジェクトから a を追加すると、using ステートメントが機能します。

それらを dll 参照ではなくプロジェクト参照として追加する理由は、デバッグ/リリース モードから前後に切り替える可能性が高く、古い参照になってしまう可能性があるためです。

于 2013-11-05T21:22:31.437 に答える
0

質問に答えてくれてありがとう。私の問題は、ソリューション内のすべてのプロジェクトで「ターゲット アプリケーション」が同じではないことでした。参照しているプロジェクトを右クリックして [プロパティ] を選択すると、ターゲット アプリケーションを変更できました。次に、プログラムを正しく実行するために .dll ファイルを再構築する必要がありました。

于 2013-11-07T23:47:54.137 に答える