31

我创建了一个基本的 Xamarin Forms 应用程序。它适用于 iOS 模拟器。

但是,当我尝试使用 VS Android 模拟器(5.1in Marshmallow)运行时,每次打开时都会崩溃。即使我尝试在没有调试的情况下运行。以下是我一直看到的错误:

01-14 16:22:10.290 D/Mono    ( 1366): AOT module 'mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found
01-14 16:22:10.290 D/Mono    ( 1366): AOT module '/Users/builder/data/lanes/2512/d3008455/source/monodroid/builds/install/mono-x86/lib/mono/aot-cache/x86/mscorlib.dll.so' not found: dlopen failed: library "/data/app-lib/App3.Droid-2/libaot-mscorlib.dll.so" not found
01-14 16:22:10.294 D/Mono    ( 1366): Unloading image data-0x9659b010 [0xb93d5940].

我正在运行最新最好的 VS2015 + Xamarin Forms 2.0。

这里发生了什么?

4

1 回答 1

92

简而言之:

1.“无法连接到调试器”问题(Android应用启动并立即关闭,调试停止):

  1. 关闭 Android 模拟器窗口以关闭虚拟机。
  2. 启动“ Hyper-V 管理器”(用于在 Windows 中管理虚拟机的 Microsoft 程序,您已经安装了它)
  3. 选择您尝试使用的模拟器
  4. 右键单击上下文菜单,点击设置
  5. 在设置对话框中展开处理器
  6. 点击兼容性
  7. 在右侧窗格中设置复选框“<strong>迁移到具有不同处理器版本的物理计算机”</li>
  8. 在 Visual Studio 中启动调试以重新启动模拟器

2. libaot-mscorlib.dll.so 缺失问题:

转到 Android 项目的属性,点击选项卡“Android 选项”,然后取消选择“使用快速部署”。

来源: 修复在将 Xamarin Forms 应用程序部署到 Visual Studio Android Emulator (VS2015) 时“无法连接到调试器”的问题

这个问题似乎只发生在新一代处理器上,这解释了为什么我以前从未见过它。

This happens because of an incompatibility between the Android images for the Visual Studio emulator for Android and the newer generations of Intel processors as of year 2015.

This solution is also published here: Visual studio android emulator will not start fully

UPDATE November 29, 2017

You should really consider moving to the Android emulators provided by Google via Android Studio for Windows. Newer Android API levels (24 and above) are only available there and Microsoft does not seem to care.

Unfortunately, we have no plans to publish Android images past 4.4. We recommend that you try Google or GenyMotion’s emulator for future images of the Android operating system.

于 2016-03-03T17:59:42.370 回答