【问题标题】:No target framework found in JetBrains Rider在 JetBrains Rider 中找不到目标框架
【发布时间】:2018-03-19 22:16:26
【问题描述】:

我想在 Linux (Ubuntu 16 LTS) 上使用 JetBrains Rider 创建 Xamarin.Forms 项目。

我知道,Xamarin 不支持 Linux,但 JetBrains 表示可以使用 Rider 在 Linux 上开发 Xamarin 应用程序。

所以在安装 dotnet SDK for Linux 之后,我想创建 Xamarin.Forms 项目,正如您在下面的 picture 上看到的(Rider 的屏幕截图),我选择的平台是 Multiplatform,类型是 Xamarin.Forms 和共享代码是可移植类库。

Screenshot of Rider

我收到错误“在这台机器上找不到目标框架”和“在这台机器上找不到可移植的配置文件”。

如果我选择平台iOS/macOS/tvOS/watchOS,它会创建项目没有问题,我只有在创建Android或多平台项目时才会出现问题。

【问题讨论】:

  • “JetBrains 表示可以使用 Rider 在 Linux 上开发 Xamarin 应用程序。”我认为 JetBrains 不会有这种说法。如果他们确实想要支持,他们必须投入比应有的更多的努力。

标签: linux xamarin frameworks rider


【解决方案1】:

1.) 确保您已从此处安装了常规的 monohttp://www.mono-project.com/download/

2.) 从这里下载xamarin-android/xamarin.android-oss_<version>.orig.tar.bz2https://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_PATHANDROID_NDK_PATH 环境变量设置正确。

为我工作。

参考:https://github.com/0xFireball/xamarin-android-linux/blob/master/rider-setup.md

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多