Я просто играю с Visual Studio 2017 на Mac.Я создал небольшое приложение Какао, которое отлично работает.Теперь я хочу сослаться на другую библиотеку, которая основана на .net Standard 2.0 и использует AWS SDK.При использовании современного Xamarin.Mac это не работает, потому что AWSSDK
включает PCLCrypto
и Xamarin.iOS
, поэтому я переключил свой проект на полную структуру.Когда я теперь открываю свойства проекта, уровень версии платформы Xamarin.Mac Full сообщается как .net 4.5.1, который не совместим с .net Standard 2.0
. Это так, как должно быть, иможно ли нацеливаться на более высокую версию вместо этого?
Followup 1
Я получил его для работы с обходным решением, которое показывает некоторые ошибки пакетов, на которые нет ссылок, и требует некрасивого подключения.Вот что я сделал:
Шаг 1:
Удалены строки <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
и <TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
из первых PropertyGroup
в .csproj
Шаг 2:
Добавил следующее к .csproj
к своему первому PropertyGroup
:
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
<UseXamMacFullFramework>True</UseXamMacFullFramework>
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
Шаг 3:
Перезагрузил проект в VS 2017
Шаг 4: Добавлена моя стандартная библиотека .net и все ее пакеты Nuget, от которых она зависит.
Это ужасно, и он покажет некоторые ссылки System.*
как не существующие в VS 2017, но он компилируется ипробеги.Кажется, что он также не правильно корректирует транзитивные зависимости, поэтому вы должны сами добавить каждую зависимость в основной проект.
Это ужасно, но, по крайней мере, у меня работает.Я надеюсь, что есть лучший способ ...