"unhandled exception occurred"尝试显示 xamarin 时。Visual Studio 2017 中的 Forms.Maps



我在Visual Studio 2017 Enterprise中创建了跨平台xamarin可移植类库(PCL(解决方案,并添加了nuget包:Xamarin.Forms.Maps(版本2.3.3.193(,它与内置的Xamarin.Forms版本匹配,因此项目成功构建并运行,没有任何错误,但抛出异常异常,这些是"复制的详细信息": "发生了未处理的异常。发生了" 以下是在 android 6.0 (x86( 模拟器或手机 (android 4.4( 中运行项目时引发异常的代码:

<maps:Map x:Name="LocationsMap" HorizontalOptions="FillAndExpand" 
VerticalOptions="FillAndExpand"/>

在内容页面(MapPage.xaml(内:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TravelRecordApp.MapPage"
xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps">
<maps:Map x:Name="LocationsMap" HorizontalOptions="FillAndExpand" 
VerticalOptions="FillAndExpand"/>

我目前正在运行 xamarin。Forms 和 Xamarin.Forms.Maps(均为版本 2.3.3.193( 和Xamarin.GooglePlayServices.Maps(29.0.0.1(以及当我更新xamarin时。Forms 和 Xamarin.Forms 到 v3.1.0.697729 或 Xamarin.GooglePlayServices.Maps 到 v60.11(最新的稳定版本(它会导致很多错误并且无法构建项目,所以我保留默认版本 (v2.3.3.193( 和 (v29.0.0.1(。 我已经在"适用于安卓的地图SDK"的清单文件中包含了API密钥,这些是权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
android:installLocation="auto">
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission 
android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<meta-data android:name="com.google.android.geo.API_KEY" 
android:value="API_KEY" />
<application android:label="TravelRecordApp.Android"></application>
</manifest>

安装 .Net Framework 47.2 后,所有问题都解决了。这里是链接 https://support.microsoft.com/en-us/help/4054530/microsoft-net-framework-4-7-2-offline-installer-for-windows

注意:如果您运行的是旧版本的Windows 10(内部版本10240(,则需要更新Windows,因为您无法在其上安装.Net Framework 47.2。

最新更新