我在visual studio 2017企业中创建了跨平台的xamarin便携式类库(PCL)解决方案,并添加了nuget包:Xamarin.Forms.Maps(版本2.3.3.193),它与内置的Xamarin.Forms版本相匹配,因此项目构建和运行成功没有任何错误,但抛出exceptionException,这些是“复制的细节”:“发生未处理的异常。发生”以下是在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)。我在“Maps SDK for android”的Manifest文件中包含了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),则需要更新窗口,因为您无法在其上安装.Net Framework 47.2。