Xamarin UWP应用程序不起作用

时间:2016-09-27 15:22:02

标签: c# xamarin.forms

我正在使用Visual Studio Update 3 + Update 3补丁。我使用C#跨平台模板创建了一个Blank XAML App(Xamarin.Forms Portable)解决方案。我在Configuration Manager中检查了Build and Deploy。我已经更新了Xamarin.Forms 2.3.2.127的解决方案(2.2版本有相同的问题)。到目前为止,我已经能够运行Android和iOS应用程序了。我没有对源进行任何更改,我正在使用空项目。尝试运行UWP应用时,我在 App.xaml.cs 中收到错误:

Xamarin.Forms.Forms.Init(e)


System.AggregateException: One or more errors occurred. 
   (Error HRESULT E_FAIL has been returned from a call to a COM component.) ---> 
System.Runtime.InteropServices.COMException: 
   Error HRESULT E_FAIL has been returned from a call to a COM component.
--- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at System.Threading.Tasks.Task`1.get_Result()
   at Xamarin.Forms.Platform.UWP.WindowsBasePlatformServices.GetAssemblies()
   at Xamarin.Forms.Registrar.RegisterAll(Type[] attrTypes)
   at Xamarin.Forms.Forms.Init(IActivatedEventArgs launchActivatedEventArgs, IEnumerable`1 rendererAssemblies)
   at Tester.UWP.App.OnLaunched(LaunchActivatedEventArgs e)
---> (Inner Exception #0) System.Runtime.InteropServices.COMException (0x80004005): 
       Error HRESULT E_FAIL has been returned from a call to a COM component.

2 个答案:

答案 0 :(得分:1)

在Windows 10企业版2015 LTSB上将Visual Studio 2015作为VMware Fusion V8.5.0(4352717)中的来宾操作系统运行时,我遇到了完全相同的问题。主机操作系统是OSX El Captitan 10.11.6。

否则我有相同的设置:空白Xamarin项目(共享和便携式)在运行UWP项目时具有完全相同的结果。 Xamarin网站上的TodoREST示例也是如此。

用VS调试时,有几个 System.InvalidCastException出现在"这个"," e"和" rootFrame"在Xamarin.Forms.Forms.Init(e)的断点处;即:

    this.FocusVisualKind' threw an exception of type 'System.InvalidCastException
    at System.StubHelpers.StubHelpers.GetCOMIPFromRCW_WinRT(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget)\r\n   at Windows.UI.Xaml.Application.get_FocusVisualKind()"
    Message "Unable to cast object of type 'TodoREST.UWP.App' to type 'Windows.UI.Xaml.IApplication2'."

我尝试了几件事

  • 更新任何可能的内容
  • 清理任何可能的事情
  • 将Xamarin逐步降级为2.0
  • 从Xamarin下载站点(包括Xamarin 4.1)重新安装VS2015社区
  • 之后重新安装VS2015社区平原和Xamarin 4.2

但似乎没有任何影响这个例外。

最后我选择了一台物理Windows 10笔记本电脑,它就像一个魅力。

所以我最好的猜测是Windows在VMware内部作为Guest OS运行这一事实与此错误有关。

由于我已经浪费了太多时间,我唯一要做的就是将OSX更新到Sierra。无论是有效还是我将继续留在"本地" Windows解决方法。

答案 1 :(得分:0)

您可以尝试清理UWP项目并重新构建。