【问题标题】:Ignore Assemblies In Xamarin.Android Linker忽略 Xamarin.Android 链接器中的程序集
【发布时间】:2016-12-06 18:19:45
【问题描述】:

我在尝试使用 Link SDK Assemblies Only 构建应用程序时遇到错误(Don't Link 上一切正常)

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets:错误:执行任务时出错LinkAssemblies:错误XA2006:引用元数据项'System.Void Xamarin.Forms。 Element::set_AutomationId(System.String)' (在'ZXing.Net.Mobile.Forms, Version=2.1.47.0, Culture=neutral, PublicKeyToken=null'中定义)来自'ZXing.Net.Mobile.Forms, Version=2.1 .47.0、Culture=neutral、PublicKeyToken=null' 无法解析。 (FleetApp.Droid)

我正在尝试在忽略列表中添加导致问题的程序集:

但我无法让错误消失。 这是正确的方法吗?还是我添加了错误的程序集以忽略列表?

附:还尝试在不带大括号的情况下添加它们。

【问题讨论】:

  • 您能分享一些重现此问题的步骤吗?
  • 创建Xamarin.Forms 应用程序,将Forms 包降级为2.0.5782,安装新版本的ZXing.Net.Mobile.Forms。应该够了

标签: xamarin xamarin.android monodevelop zxing xamarin-linker


【解决方案1】:

这是Xamarin.Forms 旧版本的问题。您需要使用Xamarin.Forms 的最新稳定版本,因为ZXing.Net.Mobile.Forms 的依赖项并不严格要求您拥有不包含AutomationIdXamarin.Forms 版本。

因此你需要 >= Xamarin.Forms 2.2.0:

https://developer.xamarin.com/releases/xamarin-forms/xamarin-forms-2.2/2.2.0-stable/#AutomationId_Support

完成此操作后,您可以删除所有 Ignore Assemblies,因为您不再需要忽略程序集。

【讨论】:

  • 我知道,但我在新的 Xamarin.Forms 上遇到了更严重的问题:我得到了这个:github.com/XLabs/Xamarin-Forms-Labs/issues/1125,如果我将 XLabs 更新到预发布版本,我会得到github.com/XLabs/Xamarin-Forms-Labs/issues/1231 这个。并且无法修复。所以旧版本的 xamarin.forms 是一种解决方法
  • 我可以理解,但您最初问题的答案是您需要 Xamarin.Forms 2.2.0 或更高版本。
  • 我强烈建议您使用最新的稳定版本的 Forms、XLabs 和 ZXing。依赖旧版本太难了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多