如何在Xamarin Android版本中禁用AOT?

时间:2016-09-27 19:38:02

标签: xamarin-studio

我正在开发Xamarin Forms项目。在过去的几周里,我一直专注于iOS代码,并且很少关注Android方面。本周,我得到了一个更具针对Android的问题,所以我尝试了部署。部署始终失败,并显示消息"Could not AOT the assembly: foo.dll"." foo.dll"是由另一个团队制作的内部组件。

我的团队中没有其他人遇到此问题,但他们是在Windows计算机上开发的。我在Mac OS Sierra上,我怀疑构建工具链中的某些东西目前是不兼容的。但是在开始之前还有一系列Xamarin更新,所以我也不知道他们是否也是无辜的。

如果我回到几周前工作的分支机构的变更历史,我仍然会收到错误。我以为我可以禁用AOT,但是当我检查Xamarin's site时,它意味着AOT应该已经被禁用,并且已经持续了几个月。此外,我没有企业许可证,所以我甚至无法启用它。

我尝试切换到Alpha / Beta频道。我尝试卸载并重新安装Xamarin Studio和所有支持库。我尝试降级到6.1版本的Xamarin Studio及其支持库,我即将尝试6.0.2。我还没做过的下一个最激烈的事情是重新格式化我的机器,但是如果这实际上只是塞拉/当前的Xamarin事情,我担心会启动这个过程。

iOS构建/部署周期很好。这只发生在Release Android版本中。我正在使用Release版本,因为Debug版本非常不稳定(这在团队中是一致的,并且似乎是OS X工具问题。)

如果我有一个禁用AOT的设置,我可以解决这个问题,但设置界面中没有这样的设置。是否有一些超级秘密的方式来打开它我们意外触发?

更新

我确实有能力再次部署。我降级到Xamarin Studio 6.0.2以及与该发布窗口关联的Xamarin.iOS / Xamarin.Android / Mono MDK。这不是理想的,我希望能够在某些时候进行升级,但我想在我得到答案之前我会紧张。

1 个答案:

答案 0 :(得分:0)

在.csproj文件中搜索:

<AotAssemblies>True</AotAssemblies> 

如果它在这里,请尝试将其更改为false:

<AotAssemblies>False</AotAssemblies>