1

我正在使用 Visual Studio 2015 启动我的第一个 Xamarin Forms 应用程序。默认模板提供了 6 个项目。(Android、iOS、PCL、UWP、8.1、windows 手机)。

所有项目都能正常工作,包括 Android、8.1、Windows Phone 模拟器。

但是当我尝试部署 UWP 项目时,在它调用 PCL 内的 MainPage 的第一条语句处中断(异常)。这发生在本地机器和模拟器中。(调试模式,所有 CPU)。

我已经将 xamarin 表单更新到最新的稳定版本,更新了 Visual Studio,但我无法解决问题。

例外:

Xamarin.Forms.Platform.UAP.dll 中出现“System.TypeLoadException”类型的异常,但未在用户代码中处理

附加信息:找不到 Windows 运行时类型“Windows.UI.ViewManagement.StatusBar”。

请帮忙

4

3 回答 3

4

Windows.UI.ViewManagement.StatusBar是一种仅在 Windows Mobile Extension SDK 中可用的类型,您必须引用此 SDK 才能使其可用。

在解决方案资源管理器中右键单击您的 UWP 项目,选择Add-> Reference,然后在 Universal Windows 下选择 Extensions 并找到Windows Mobile Extensions for the UWP. 检查与应用的目标 Windows 10 构建版本匹配的版本。

您还需要使用IsTypePresentAPI,它将在运行时检查该类型是否在当前设备上可用。这很重要,因为StatusBar除了 Mobile 之外的任何其他版本的 Windows 10 上都不存在:

if(ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar") )
{
   //your code
}
于 2016-07-28T06:08:06.673 回答
0

看起来像 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

于 2016-07-28T05:47:17.933 回答
0

如果这些都不起作用,请尝试将您的 Windows SDK 更新到最新版本。它对我有用。我还添加了对Windows Mobile Extensions for the UWP.

编辑:

我还尝试过,有时当您更新 Visual Studio 时,它会再次失败。我必须在我的 UWP 项目中手动更改 de SDK 版本,转到属性 > 应用程序 > 目标版本 > 选择最新版本

于 2017-05-16T07:24:21.927 回答