В JetBrains Rider не найдена целевая платформа

Я хотел бы создать проект Xamarin.Forms с помощью JetBrains Rider в Linux (Ubuntu 16 LTS).

Я знаю, что Xamarin не поддерживает Linux, но JetBrains говорит, что можно разработать приложение Xamarin на Linux с помощью Rider.

Итак, после установки dotnet SDK для Linux я хотел создать проект Xamarin.Forms, как вы можете видеть на изображение ниже (снимок экрана Rider), я выбрал платформу Multiplatform, тип - Xamarin.Forms, а общий код - Portable Class Library.

Скриншот Rider

Я получаю сообщение об ошибке «На этом компьютере не найдены целевые платформы» и «На этом компьютере не обнаружены переносимые профили».

Если я выберу платформу iOS / macOS / tvOS / watchOS, она создаст проект без проблем, у меня проблема только при создании Android или мультиплатформенного проекта.


person DanoSK    schedule 19.03.2018    source источник
comment
JetBrains сообщает, что с помощью Rider можно разработать приложение Xamarin в Linux. Я не думаю, что у JetBrains есть такие претензии. Если они действительно хотят поддержать это, им нужно приложить гораздо больше усилий, чем следовало бы.   -  person Lex Li    schedule 20.03.2018


Ответы (1)


1.) убедитесь, что вы установили обычный mono ЗДЕСЬ: http://www.mono-project.com/download/

2.) загрузите xamarin-android/xamarin.android-oss_<version>.orig.tar.bz2 ЗДЕСЬ: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android-linux/lastSuccessfulBuild/Azure/

3.) распаковать, скажем, в /usr/lib/xamarin.android-oss_<version>/

4.) Сделайте это:

cd /path/to/xamarin.android-oss*/
sudo cp -r bin/Debug/lib/xamarin.android/* /usr/lib/mono
sudo mkdir -p /usr/lib/mono/xamarin-android/bin/
sudo cp -r bin/Debug/bin/* /usr/lib/mono/xamarin-android/bin/

5.) Создайте проект Xamarin (я использовал JetBrains Rider)

6.) Добавьте эту группу свойств в ваш .csproj файл:

<PropertyGroup Condition=" '$(OS)' == 'Unix' ">
    <MonoAndroidBinDirectory>/usr/lib/mono/xamarin-android/bin</MonoAndroidBinDirectory>
    <AndroidSdkDirectory>$(ANDROID_SDK_PATH)</AndroidSdkDirectory>
    <AndroidNdkDirectory>$(ANDROID_NDK_PATH)</AndroidNdkDirectory>

    <TargetFrameworkRootPath>/usr/lib/mono/xbuild-frameworks/</TargetFrameworkRootPath>
</PropertyGroup>

7.) Убедитесь, что переменные среды ANDROID_SDK_PATH и ANDROID_NDK_PATH установлены правильно.

Работал у меня.

ССЫЛКА: https://github.com/0xFireball/xamarin-android-linux/blob/master/rider-setup.md

person JohnG79    schedule 13.07.2018