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
        }
    }
}

问题是当我尝试“重建解决方案”或“调试解决方案”时,上述“使用”行给出错误“找不到类型或命名空间名称'Kafka'(您是否缺少 using 指令或程序集参考?)”我在这方面花了很长时间,希望能得到一些关于我需要做什么的指示。

4

3 回答 3

3

using 实际上并没有将任何内容“包含”到您的项目中。它只是使您不必总是输入完整的名称空间。所以错误显然是在引用另一个项目。

必须先构建 Kafka 项目。所以首先要确保你可以成功构建 Kafka 项目。

如果 Kafka 不在同一个项目中,请确保您已添加对 dll 的引用,并确保“复制本地”为真

要将 dll 添加为引用,请在解决方案资源管理器中右键单击 ConsoleApplication2,单击添加引用,然后浏览并找到 kafka 项目输出的实际 dll。

于 2013-11-05T21:16:07.367 回答
1

听起来这些是单独的类库或其他项目。如果是这种情况,project reference请从您的主项目中添加一个,然后 using 语句将起作用。

您要将它们添加为项目引用而不是 dll 引用的原因是您可能会在调试/发布模式中来回切换,并且最终可能会得到一个过时的引用。

于 2013-11-05T21:22:31.437 回答
0

感谢您尝试回答问题。我的问题是我的解决方案中的所有项目的“目标应用程序”都不相同。右键单击引用的项目并选择“属性”使我能够更改目标应用程序。然后我需要重建 .dll 文件才能正确运行程序。

于 2013-11-07T23:47:54.137 回答