无法在 Xamarin Forms 中启动 UWP 项目
Posted
技术标签:
【中文标题】无法在 Xamarin Forms 中启动 UWP 项目【英文标题】:Couldn't Start UWP project in Xamrin Forms 【发布时间】:2016-12-02 05:57:53 【问题描述】:我正在使用 Visual Studio 2015 启动我的第一个 Xamarin Forms 应用程序。默认模板提供了 6 个项目。 (android、ios、PCL、UWP、8.1、windows手机)。
所有项目都能正常工作,包括 Android、8.1、Windows Phone Emulator。
但是当我尝试部署 UWP 项目时,在它调用 PCL 内的 MainPage 的第一条语句处中断(异常)。这发生在本地机器和模拟器中。 (调试模式,所有 CPU)。
我已经将 xamarin 表单更新到最新的稳定版本,更新了 Visual Studio,但我无法解决问题。
例外:
“System.TypeLoadException”类型的异常发生在 Xamarin.Forms.Platform.UAP.dll 但未在用户代码中处理
附加信息:找不到 Windows 运行时类型 'Windows.UI.ViewManagement.StatusBar'。
请帮忙
【问题讨论】:
【参考方案1】:Windows.UI.ViewManagement.StatusBar
是一种仅在 Windows Mobile 扩展 SDK 中可用的类型,您必须引用此 SDK 才能使用它。
在解决方案资源管理器中右键单击您的 UWP 项目,选择 Add
-> Reference
,然后在通用 Windows 下选择扩展并找到 Windows Mobile Extensions for the UWP
。检查与您的应用的目标 Windows 10 构建版本匹配的那个。
您还需要使用IsTypePresent
API,它将在运行时检查该类型是否在当前设备上可用。这一点很重要,因为StatusBar
在 Windows 10 的任何其他版本上都不存在,而不是在移动版上:
if(ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar") )
//your code
【讨论】:
【参考方案2】:看起来像 xamarin UWP 概念中的问题,你更新了 Xamain.Forms 吗? 转到工具-> NuGet 包管理器-> 管理解决方案包-> Microsoft.NETCore.Universal Windows 平台-> 更新最新版本。
全部更新后,还是同样的问题,请查看这里 https://forums.xamarin.com/discussion/64731/how-to-solve-unknown-type-in-uwp-app-windows-ui-viewmanagement-statusbar
【讨论】:
是的,我已经更新了,但还是不行。我将阅读链接并尝试弄清楚。谢谢【参考方案3】:如果这些都不起作用,请尝试将您的 Windows SDK 更新到最新版本。它对我有用。我还添加了对Windows Mobile Extensions for the UWP
的引用。
编辑:
我也尝试过,有时当您更新 Visual Studio 时,它会再次失败。我必须在我的 UWP 项目中手动更改 de SDK 版本,转到属性 > 应用程序 > 目标版本 > 选择最新版本
【讨论】:
以上是关于无法在 Xamarin Forms 中启动 UWP 项目的主要内容,如果未能解决你的问题,请参考以下文章
无法在发布模式下为 UWP 构建 Xamarin.Forms 应用
无法在 UWP 中设置 SQLite 对象 - Xamarin Forms
包“apppxbundle”需要很长时间来处理。无法将更新推送到 Windows 商店 [UWP] [Xamarin.Forms]
Breeze# 用于 Xamarin.Forms(UWP、Droid 和 iOS)?
Xamarin.UWP应用程序无法启动,因为无法加载“Microsoft.Graphics.Canvas.UI.Xaml.CanvasImageSource”