【问题标题】:Unable to add ZXing.Net.Mobile package to my Xamarin.Forms project无法将 ZXing.Net.Mobile 包添加到我的 Xamarin.Forms 项目
【发布时间】:2016-06-06 08:30:27
【问题描述】:

我有一个 Xamarin.Forms 项目,我想在其中使用 ZXing 库进行条码扫描。但是我无法将包 ZXing.Net.Mobile 和 ZXing.Net.Mobile.Forms 安装到我的便携式项目中。我不断收到的异常如下:

无法安装包“ZXing.Net.Mobile 2.0.4.46”。您正在尝试将此包安装到以“.NETPortable,Version=v4.5,Profile=Profile111”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。如需更多信息,请联系包作者。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您的 PCL 包括哪些目标? @DenisVitez

标签: c# xamarin xamarin.forms zxing portable-class-library


【解决方案1】:

我快速查看了包内容,根据文件夹名称,该包并不完全针对 PCL Profile 111(.NET Framework 4.5、Windows 8、Windows Phone 8.1)。可移植库位于文件夹中:

lib/portable-net45+netcore45+wp8+UAP10.0+MonoAndroid403+MonoTouch10+Xamarin.iOS10

缺少与 PCL Profile 111 兼容的 wpa81(即 Windows Phone 8.1 -Silverlight)。

由于netcore45UAP10.0包含在文件夹名称中,我怀疑缺少的wpa81规范只是包作者的疏忽,可以毫无问题地添加到文件夹名称中。当然,这必须与包作者确认,他们需要更新 NuGet 包。

作为旁注,我也认为文件夹名称有点“过头”。为了获得最大的兼容性,我认为最好排除 UAP 和 Xamarin 规范。如果使用了standard lib 文件夹命名约定,NuGet 会自动以这些平台为目标。

【讨论】:

  • 除了联系包作者之外,还有什么办法可以用来安装 ZXing 库吗?
  • 一个快速而简单的解决方法是通过浏览 lib/portable.. 直接引用 PCL ZXing.Net.Mobile 程序集。 . 文件夹并手动添加引用。如果 NuGet 包尚未添加到您的解决方案中,您可以从 NuGet 库手动获取该包并将其解压缩。老实说,我认为 PCL 库能够针对 Profile 111,因此添加手动参考应该起作用。
  • 成功了吗?在这种情况下,请毫不犹豫地投票并接受答案:-)
  • 嗨 Anders,我尝试将 PCL 配置文件更改为配置文件 7,它现在​​可以成功运行。我认为这是比手动引用库更好的选择,因为我实际上并不需要 wpa8.1。感谢您帮助指出 wpa8.1 支持问题的根源。
  • @AndersGustafsson 我可以确认手动添加参考是有效的。我能够将它安装在我的 Android 和 iOS 解决方案中,所以幸运的是不需要手动下载和解压缩
【解决方案2】:

如果您不需要 Windows Phone 8.1,根据上面的Denis Vitez 评论,更改为 Profile 7 允许您安装 ZXing.Net.Mobile 和 ZXing.Net.Mobile.Forms。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2019-06-21
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 2017-04-18
    • 1970-01-01
    相关资源
    最近更新 更多