Не может быть решена, потому что она была построена на основе.NETPortable,Version=v5.0
Я пытаюсь реализовать вход в систему с помощью сенсорного ввода в моем приложении xamarin
для этого я установил пакет Plugin.Fingerprint версии 1.4.5.0
но это дает мне ошибку при сборке
Первичная ссылка "Plugin.Fingerprint, Version=1.4.5.0, Culture= нейтральный, processorArchitecture=MSIL" не может быть разрешена, поскольку она построена на основе инфраструктуры.NETPortable,Version=v5.0. Это более высокая версия, чем целевая на данный момент платформа ".NETPortable,Version=v4.5,Profile=Profile111".
после поиска этой ошибки я получил это решение
Я преобразовал все проекты в своем решении Xamarin в netstandard1.1 (я использовал ваше руководство), и теперь все работает
но мне интересно, это не повлияет на другие функции приложения? значит это правильное решение? ухудшать версию, как это не повлияет на другие вещи?
если да, то каково другое решение этой ошибки.
пожалуйста помогите пожалуйста
1 ответ
Моя проблема заключалась в том, что я случайно установил VS 2019 на Mac. Я хотел обновить только VS 2017, но вы должны очень внимательно прочитать изменения (никаких намеков на то, что вы обновляете VS!). Затем я нашел способ понизитьверсию VS на Mac до VisualStudioForMac-7.8.4.1. Впоследствии я понял, что моя сборка Jenkins (используяmsbuild
) не работает с указанным выше отказом.
предупреждение MSB3274: основная ссылка "Plugin.Fingerprint, Version=1.4.6.0, Culture= нейтральный, processorArchitecture=MSIL" не может быть разрешена, поскольку она была создана на основе платформы ".NETPortable,Version=v5.0". Это более поздняя версия, чем целевая в настоящее время платформа.NETPortable,Version=v4.5,Profile=Profile7.
В msbuild
версия изменена с 16.0.42-preview+g804bde742b на 16.0.459+g5b35a69a2e. Переход наxbuild
показал мне устаревшее предупреждение, а также, что версия Java не найдена (для Droid).
К счастью, я нашел этот пост, в котором описано решение.
TL; DR:
- Установите пакет MonoFramework-MDK-5.18.0.268 с этого сайта на Mac.
- Проверьте версию в Visual Studio > Preferences > Projects > .NET Runtimes и посмотрите, есть ли
Mono 5.18.0.268
установлен по умолчанию. - Радоваться, веселиться:)
Вы должны обновить вашу Visual Studio, я думаю, что это решит проблему.
Я исправил эту проблему, используя следующие шаги:
- Щелкните правой кнопкой мыши по проекту и выберите выгрузить проект (в этом случае вы должны выгрузить то, что хотите реализовать).
После этого снова щелкните правой кнопкой мыши и выберите edit.PROJECTNAME.csproj и обновите TargetFrameworkVersion до 4.5
Щелкните правой кнопкой мыши и перезагрузите проект
Это было мое решение. Я надеюсь, что это помогает.
Я столкнулся с этой проблемой, и у Visual Studio Mac был неправильный путь подсказки. Новые версии VS Mac, похоже, не позволяют вам изменить версию Mono, поэтому приведенный выше совет не сработал для меня.
Вот что мне пришлось изменить:
Щелкните проект правой кнопкой мыши и выберите "Редактировать файл проекта".
Найдите библиотеку, которая вызывает у вас проблемы. Например:
.... \ packages \ Polly.5.1.0 \ lib \ netstandard1.0 \ Polly.dll HintPath>
(извините за странную разметку... редактору почему-то НЕ нравится XML)
Обратите внимание, что он нацелен на netstandard1.0? Что ж, если это PCL 4.5, вам нужно изменить это на следующее:
<Reference Include="Polly, Version=5.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\Polly.5.1.0\lib\net45\Polly.dll</HintPath>
</Reference>
Если вы посмотрите в папку с пакетами, вы увидите папку net45 рядом с папкой netstandard1.0. Пока ваш packages.config указывает на правильную целевую платформу, пакет должен быть восстановлен должным образом. Однако каким-то образом VS Mac использует неправильный путь подсказки. Не знаю, ошибка ли это, но тем не менее я сообщил об этом:)