【问题标题】:Error while attempting to use "using com.google.zxing;" to decode Data Matrix尝试使用“使用 com.google.zxing;”时出错解码数据矩阵
【发布时间】:2015-04-20 19:49:00
【问题描述】:

我从线程开始 [decode data matrix in C#] (How To Use ZXing C# Port)!但我遇到了一个错误,导致我无法使用 zxing。

错误状态:“找不到类型或命名空间名称 'com'(您是否缺少 using 指令或程序集引用?)”

在我的代码中,我(试图)使用:

using com.google.zxing;    

请让我知道我做错了什么。

【问题讨论】:

  • 您是否 100% 确定您引用了 ZXing 库,无论是作为 DLL 还是作为 NuGet 包?
  • 没有。也许这就是问题所在。您能否分享一个参考,以便我可以继续正确参考 ZXing?谢谢。

标签: c# zxing using datamatrix


【解决方案1】:

如果 C# 可以自动检测您正在使用的引用并下载它们,那就太好了,但事实并非如此。使用前需要下载ZXing SDK并参考。

最简单的方法是通过NuGet,它从 2012 年开始在 Visual Studio 中构建,可用于 VS 2010。右键单击您的项目,单击“管理 NuGet 包”,然后选择“在线" 从左侧菜单中搜索,然后使用右上角的搜索框进行搜索。

NuGet 上提供了两个 ZXing 端口,因此您必须同时查看它们并选择一个适合您的端口。

您也可以在 Internet 上找到一些 ZXing DLL 并从您的项目中引用它:右键单击项目的“参考”,单击“添加参考...”,然后单击“浏览”按钮。
但是,这不如 NuGet 方便,因为您需要手动检查库的更新并更新 DLL,而 NuGet 会在更新可用时告诉您(它不会强制您更新)。

仅通过查看您的代码示例,我不建议使用使用类似 Java 名称空间的端口(更多的 C#-y 版本将是例如“Google.ZXing”),因为它听起来像一个“哑巴”将 Java 语法简单地转换为 C# 的端口,而不考虑某些 C# 功能是否更适合原始库想要做的任何事情。
我在 Windows Phone 应用中使用了 ZXing.Net v0.14,效果很好。

【讨论】:

  • 感谢您的详细回答。现在我得到了 ZXing DLL 来启动。我正在使用 VS2010 和您的说明:“右键单击您的项目,单击“管理 NuGet 包”,然后从左侧菜单中选择“在线”并使用右上角的搜索框进行搜索。”对我不起作用。也许它的版本依赖?
【解决方案2】:

你必须更换 using com.google.zxing;using ZXing; 如果您正在引用和使用 ZXing.Net 程序集。 我用更类似于 .Net 的版本替换了 Java 风格的命名空间。 网络上的旧示例不适用于 ZXing.Net。 在 ZXing.Net 的源代码库和下载部分,您将 查找更多最新示例。你真的应该从较新的示例开始,因为我在移植的基础上写了一些简化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 2018-07-01
    • 2018-03-10
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多