(Xamarin iOS):ExecutionEngineeException-在仅aot模式下运行时尝试JIT编译方法

(Xamarin iOS):ExecutionEngineeException-在仅aot模式下运行时尝试JIT编译方法,ios,xamarin.ios,xamarin.forms,Ios,Xamarin.ios,Xamarin.forms,在设备上以发布模式运行应用程序时,我遇到错误: ExecutionEngineeException-试图在仅aot模式下运行时JIT编译方法“AudioJack.ACRAudioJackReader:.ctor(bool)”。有关更多信息,请参阅 它出现在Xamarin iOS的最新更新之后。 在调试模式下在设备上正常工作。 还试图禁用编译器优化-没有帮助 我正在使用iOS绑定到AudioJack库,构造函数导致错误 [BaseType(typeof(NSObject))] interface

在设备上以发布模式运行应用程序时,我遇到错误: ExecutionEngineeException-试图在仅aot模式下运行时JIT编译方法“AudioJack.ACRAudioJackReader:.ctor(bool)”。有关更多信息,请参阅

它出现在Xamarin iOS的最新更新之后。 在调试模式下在设备上正常工作。 还试图禁用编译器优化-没有帮助

我正在使用iOS绑定到AudioJack库,构造函数导致错误

[BaseType(typeof(NSObject))]
interface ACRAudioJackReader
{

    [ExportAttribute("initWithMute:")]
    IntPtr Constructor(bool isMute);
}
检查了所有与此问题相关的文章,但尚未找到解决方案

有人知道如何修复它吗

谢谢你

TL;DR

您需要在有问题的绑定项目中启用“启用优化”选项


我和你有类似的问题

我在Mac上工作,从Xamarin Studio切换到最新的Mac Visual Studio。更新应用程序停止在iOS设备上工作后,有趣的是,模拟器还可以

当我想初始化这个有问题的库中的对象时,错误发生在运行时。我的应用程序很少有iOS绑定项目,但只有一个导致了此类问题。我不想在其他项目中引入任何不必要的更改

最后我发现,在我的例子中,为包含这个有问题的库的绑定项目启用启用优化就足够了。应用程序的项目(这是唯一使用此库的项目)尚未更改

因为我知道我的应用程序在更新之前工作正常,所以我认为这是Xamarin的问题,所以我只关注于找到解决方案,而不是原因


您可以在以下位置找到此选项:

项目选项构建编译器启用优化


看起来这是一个bug,应该在下周发布的版本中修复