我开始使用Xamarin并尝试运行示例项目。我设法安装了Android SDK,并创建了一个虚拟设备进行测试。但是,当我尝试运行该项目时,我得到一个非描述性错误,表明我应该检查日志文件。当我这样做时,我发现以下两个堆栈跟踪:
System.InvalidOperationException at Xamarin.VisualStudio.Android.AndroidVirtualDeviceProvider.StartEmulator(IAndroidVirtualDevice virtualDevice,IProgressReport进度,CancellationToken cancelToken) C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \设备\ AndroidVirtualDeviceProvider.cs:线 148点 Xamarin.VisualStudio.Android.CommandHandlers.StartupVirtualDeviceCommandHandler.StartUp(IMonoAndroidDevice device,IProgressReport进度,IAndroidVirtualDeviceProvider virtualDeviceProvider,CancellationToken cancellationToken)in C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \ CommandHandlers \ StartupVirtualDeviceCommandHandler.cs:线 0点 Xamarin.VisualStudio.Android.CommandHandlers.StartupVirtualDeviceCommandHandler.Execute(StartupVirtualDeviceCommand 命令,IProgressReport进度,CancellationToken cancelToken) C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \ CommandHandlers \ StartupVirtualDeviceCommandHandler.cs:线 45点 Xamarin.VisualStudio.Commands.CommandHandlerBase
2.Execute(TCommand command, CancellationToken cancellationToken) in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 125 at Xamarin.VisualStudio.Commands.CommandHandlerBase
2.<> c__DisplayClass1_0< ExecuteAsync> b__0() 在 C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio的\命令\ CommandHandlerBase.cs:线 118在System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.Execute() System.InvalidOperationException at Xamarin.VisualStudio.Commands.CommandHandlerBase.ProcessAggregateInnerException(Exception innerException, IProgressReport progress) in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 37 at Xamarin.VisualStudio.Commands.CommandHandlerBase
2.Execute(TCommand 命令,CancellationToken cancellationToken)中 C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio的\命令\ CommandHandlerBase.cs:线 145点 Xamarin.VisualStudio.Commands.CommandHandlerBase2.<>c__DisplayClass1_0.<ExecuteAsync>b__0() in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 118 at System.Threading.Tasks.Task
1.InnerInvoke()at System.Threading.Tasks.Task.Execute()
有没有人知道发生了什么?
答案 0 :(得分:1)
事实证明问题是我的电脑没有打开硬件虚拟化。我从来没有找到任何告诉过我的输出,但是当我打开它时它就开始工作了。
答案 1 :(得分:0)
看起来您使用内置模拟器时遇到了问题。我建议您尝试使用真实设备进行调试,或使用Genymotion创建模拟器。它需要Virtual Box运行,但非常有用,因为有很多设备可以模拟,因此您可以在多个API和屏幕尺寸上测试您的应用程序。