我有一个Unity HoloLens UWP应用程序,可以在2D和3D视图之间切换。在HoloLens模拟器版本10.0.14393.1358上可以正常运行,但在10.0.17134.80上不能正常运行。
在较新的版本上,我得到以下异常和堆栈跟踪:
System.Runtime.InteropServices.COMException: 'Error HRESULT E_FAIL has been returned from a call to a COM component.'
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at AppViewInfo.<<SwitchAsync>b__10_0>d.MoveNext()"
发生这种情况的代码如下:
public async Task SwitchAsync()
{
await dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
await ApplicationViewSwitcher.SwitchAsync(this.view.Id); //<---EXCEPTION
});
}
感谢您对这个看似神秘的COM异常的深入了解。我看过几篇文章,指出这可能与后台应用程序的隐私设置有关。但是,我看不到可以在HoloLens上进行更改的选项。