Xamarin 什么会使DLL AOT编译失败?

Xamarin 什么会使DLL AOT编译失败?,xamarin,xamarin.android,Xamarin,Xamarin.android,(这与我问的另一个问题类似,但其中一个问题的重点是禁用AOT。这一问题的重点是诊断根本原因。) 我在做一个Xamarin表单项目。在过去的几周里,我一直专注于iOS代码,没有太多关注Android方面。本周,我遇到了一个更具体的Android问题,所以我尝试了部署。部署始终失败,并显示消息“无法AOT程序集:foo.dll”。“foo.dll”是另一个团队制作的内部程序集 我的团队中没有其他人有这个问题,但他们是在Windows机器上开发的。我在mac OS Sierra上,我怀疑构建工具链中的

(这与我问的另一个问题类似,但其中一个问题的重点是禁用AOT。这一问题的重点是诊断根本原因。)

我在做一个Xamarin表单项目。在过去的几周里,我一直专注于iOS代码,没有太多关注Android方面。本周,我遇到了一个更具体的Android问题,所以我尝试了部署。部署始终失败,并显示消息“无法AOT程序集:foo.dll”。“foo.dll”是另一个团队制作的内部程序集

我的团队中没有其他人有这个问题,但他们是在Windows机器上开发的。我在mac OS Sierra上,我怀疑构建工具链中的某些东西目前不兼容。但在这之前也有很多Xamarin的更新,所以我也不知道他们是否是无辜的

随着时间的推移,我成功地将其与XamarinStudio6.1.x发行周期相关的内容隔离开来。我的团队中升级的任何人都会在Windows和Mac OS上出现此错误

我们可以通过.csproj标记在项目中禁用AOT来暂时解决这个问题,但是我们的应用程序在启用AOT后显示出显著的性能提高。所以我想找出这个DLL无法进行AOT编译的原因,并修复它。但我不知道如何进步

什么会导致这种失败?为什么在iOS版本的DLL中不会发生这种情况?为什么它特定于Xamarin Studio 6.1


(我目前正在OSX 10.12.0上运行Xamarin Studio 6.0.2(build 73)。我有Xamarin.iOS 9.8.2.22和Xamarin.Android 6.1.2.21。从这两个版本升级到6.1.x周期中的任何版本似乎都会引发问题。)

检查项目引用并验证“foo.dll”位置,可能缺少或不正确。请检查项目引用并验证“foo.dll”位置是否缺少或不正确。