«Произошло необработанное исключение» при попытке отобразить xamarin.Forms.Maps в Visual Studio 2017 - PullRequest
0 голосов
/ 30 августа 2018

Я создал кроссплатформенное решение xamarin для переносимых библиотек классов (PCL) в Visual Studio 2017 Enterprise и добавил пакет 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). я включил ключ API в файл манифеста из «Maps SDK для android», и это разрешения:

<?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>

1 Ответ

0 голосов
/ 03 сентября 2018

После установки .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.

...