TKCustomMap Version Conflict - PullRequest
       10

TKCustomMap Version Conflict

0 голосов
/ 02 июля 2018

Об этой проблеме сообщалось на GitHub здесь -

https://github.com/TorbenK/TK.CustomMap/issues/325

Кто-нибудь еще боролся с этим? Я был в восторге от того, что нашел этот пакет nuget, потому что он делает именно то, что я ищу, но для него нужны Places и некоторые другие GooglePlayServices, и я не могу установить их из-за этого конфликта.

Я также не уверен, что удаление TK.CustomMap и последующая установка Play Services могут даже помочь, потому что человек, сообщивший о проблеме на GitHub, сказал:


Я преобразовал свое приложение в .net 2.0, и мне пришлось использовать новейшие сервисы Google Play 60.1142.1 для AdMob для работы. Он не будет установлен, пока я не удалю TK.CustomMap, и теперь TK.CustomMap не будет переустанавливаться, потому что он хочет использовать только GooglePlayServices 42.1021.1

Код серьезности Описание Состояние подавления строки файла проекта Ошибка NU1107 Обнаружен конфликт версий для Xamarin.GooglePlayServices.Tasks. Ссылка на пакет прямо из проекта, чтобы решить эту проблему. HunterTracker.Android -> Xamarin.GooglePlayServices.Base 60.1142.1 -> Xamarin.GooglePlayServices.Tasks (= 60.1142.1) HunterTracker.Android -> HunterTracker -> TK.CustomMap 2.0.1 -> Xamarin.GooglePlayServices.Location 42.1021.1 -> Xamarin.GooglePlayServices.Tasks (= 42.1021.1).


Это почти та же самая ошибка, которую я получаю, пытаясь установить другие пакеты. На github нет разрешения.

Кто-нибудь нашел работу? Или кто-нибудь знает, как "Ссылка на пакет прямо из проекта" ?

Ответы [ 2 ]

0 голосов
/ 29 июня 2019

Благодаря @ Travis Fleenor. Это моё решение. Я немного изменяю вашу последовательность, чтобы работать над моей. 1. Убедитесь, что оригинальный проект из github (https://github.com/TorbenK/TK.CustomMap) работает, и вы можете запустить его. 2. Обновите нюгеты, где вы получите конфликт. В моем случае я столкнулся с версией библиотеки googleplay. Я обновил его в исходном проекте, а затем заверил, что он может его запустить.
3. Скомпилируйте все решение в режиме релиза. Затем скопировал сгенерированные DLL из bin / release и вставил их в папку на моем рабочем столе. 4. Я ссылался на эти dll на общий проект и проект Android. Я использовал менеджер пакетов nuget только для установки некоторых недостающих пакетов, необходимых для tk.custom. Обратите внимание, что вы будете ссылаться только на некоторые DLL, которые принимает проект. Для мэрии Visual подскажет "dll уже ссылался" на что-то. 5. Сначала укажите ваш общий проект, а затем ваш Android. Это все. убедитесь, что вы можете перекомпилировать решение. Надеюсь, это поможет

0 голосов
/ 03 июля 2018

Благодаря комментариям SushiHangover выше, указавшим мне правильное направление, я смог обнаружить, что мне нужно сделать здесь. У меня возникла ошибка при обновлении пакетов nuget в TK.CustomMap, потому что v26 Xamarin.Android.Support.Vector.Drawable был нацелен на MonoAndroid8.0, а обновление до v27 должно быть нацелено на MonoAndroid8.1 Так что потребовалось совсем немного времени, чтобы иметь возможность обновить пакеты nuget в чтобы получить сборки с более поздними версиями, чтобы я мог использовать TK.CustomMap в своем решении. Но я в итоге смог туда добраться. Вот шаги, за которыми я следовал (насколько я помню). Я не могу сейчас скомпилировать ios, потому что у меня нет MAC, так что исправление придет позже. Это исправление предназначено только для общего проекта и проекта Android

  1. Загрузите TK.CustomMap-master с github
  2. Извлеките его и полностью удалите проект Sample (я также удалил проект UWP, так как в данный момент меня это не особо интересует)
  3. Открыт и построен, затем закрыт. Папка удаленных пакетов, папка vs, bin и obj из Android и Shared Project (этот шаг, вероятно, не требуется, но я сделал это ...)
  4. В packages.config в Android изменены все цели с monoandroid80 на monoandroid81 сохранить файл
  5. В TK.CustomMap.Android.csproj для каждого v26.0.1 любого Xamarin.Android.Support или другого пакета утилит Xamarin.Android изменено 26.0.1\lib\MonoAndroid80 на 27.0.2.1\lib\MonoAndroid81 - сохранить файл
  6. В папке nuget в TK.CustomMap.nuspec изменен целевой фреймворк в этом разделе

          <group targetFramework="lib\MonoAndroid7.0">
            <dependency id="Xamarin.GooglePlayServices.Location" version="42.1021.1" />
            <dependency id="Xamarin.GooglePlayServices.Places" version="42.1021.1" />
            <dependency id="Xamarin.Android.Maps.Utils" version="0.5.0" />
            <dependency id="Xamarin.Forms" version="2.5.0.91635" />
            <dependency id="Newtonsoft.Json" version="10.0.3" />
          </group>
    

до

          <group targetFramework="lib\MonoAndroid">

так что он может быть нацелен на любую версию

  1. Открывал и обновлял все пакеты nuget, используя менеджер пакетов (не консоль). Встроенная отладка и выпуск сборок

В этот момент открытое решение Я пытался реализовать TK.CustomMap ранее, чтобы попытаться исправить. Помните, что исходные проблемы заключались в том, что последние фреймворки не могли использоваться, и фреймворки 42.1021.1 не могли найти файлы com.google.gms.location и com.google.gms.places.ui, поэтому их пришлось обновлять или не было TK.CustomMap

  1. В решении проблемы удалена TK.CustomMap из всех проектов
  2. В решение проблемы Android-проект добавлена ​​ссылка на все библиотеки DLL в папке релиза бинарного файла Android из проекта TK.CustomMap.
  3. Установленные обновления для всех фреймворков Xamarin.Android в решении проблем через диспетчер пакетов (не консоль)
  4. Установленные обновления всех других пакетов nuget для всех проектов с использованием диспетчера пакетов (не консоли)
  5. Установлен TK.CustomMap для общего проекта с помощью диспетчера пакетов (не консоли)
  6. Добавлены ссылки на проект Android во второй раз. Может или не может помочь.
  7. Установлен пакет Nuget TK.CustomMap с помощью диспетчера пакетов (не консоли)
  8. Построен и успешно запущен на Live Player !!

Спасибо Суши Похмелье за ​​совет. Я не видел ни одного подробного руководства о том, как это сделать, поэтому я решил опубликовать свой собственный ответ на тот случай, если кто-то еще ищет. Определенно, если вы новичок в VS, все эти вещи вначале не прогулка в парке.

...