Rider 无法检测 Ubuntu 上的 .NET 核心安装

Posted

技术标签:

【中文标题】Rider 无法检测 Ubuntu 上的 .NET 核心安装【英文标题】:Rider cannot detect .NET core installation on Ubuntu 【发布时间】:2018-02-12 03:53:18 【问题描述】:

按照 Rider IDE 的指示,我安装了 Microsoft 的 .NET Core 框架。我知道安装成功,因为我可以从终端运行dotnet 命令。但是,重新启动 Rider 后,我仍然收到以下消息:

无法检测到 .NET Core。请安装 .NET Core 并重启 Rider。

我做错了什么吗?

【问题讨论】:

【参考方案1】:

我设法修复了问题设置

/opt/dotnet/dotnet

Settings | Build,Execution,Deployment |
  Toolset and Build | .NET Core CLI executable path

以前,我使用的是/usr/bin/dotnet,但它不再起作用了。此外,自动检测似乎被破坏了。

其实/usr/bin/dotnetwhich dotnet返回的路径,只是一个遵循/opt/dotnet/dotnet的shell文件,因为它的内容是:

#!/bin/sh

export DOTNET_ROOT=/opt/dotnet
exec /opt/dotnet/dotnet $@

# vim: ts=2 sw=2 et:

【讨论】:

【参考方案2】:

由于在 Arch Linux 上安装了 Xamarin android 的错误,我刚刚遇到了这个问题,并且能够通过执行以下操作来解决它:

首先执行dotnet --info获取.NET Core SDK安装路径

.NET Core SDK(反映任何 global.json):版本:2.1.500 提交:b68b931422 运行环境:操作系统名称:arch 操作系统版本:操作系统平台: Linux RID:arch-x64 基本路径:/opt/dotnet/sdk/2.1.500/ 主机(用于支持):版本:2.1.6 提交:3f4f8eebd8 已安装 .NET Core SDK: 2.1.500 [/opt/dotnet/sdk]

.NET Core 运行时已安装:Microsoft.NETCore.App 2.1.6 [/opt/dotnet/shared/Microsoft.NETCore.App] 要安装其他 .NET Core 运行时或 SDK:https://aka.ms/dotnet-download

/opt/dotnet/ 的上一个目录应该有一个名为“dotnet”的可执行文件。此文件的绝对路径 (/opt/dotnet/dotnet) 应设置为 .NET Core CLI 可执行路径 文件设置构建、执行、部署工具集和构建 Rider 设置下的值。

以防万一,这是我的其他工具集配置设置:

单声道可执行路径: /usr/bin/mono

使用 MSBuild 版本:自动检测到 (15,0),/usr/lib/mono/msbuild/bin/MSBuild.dll

由于我收到关于未找到 Razor 的错误,我还在 .bashrc 中的 PATH 中添加了以下值:

导出 MSBuildSDKsPath=/opt/dotnet/sdk/$(dotnet --version)/Sdks

导出 PATH=$PATH:$MSBuildSDKsPath

【讨论】:

【参考方案3】:

您可以在 Rider 设置中设置 .NET CLI 的路径:菜单文件* → 设置构建、执行、部署工具集和构建。但通常 Rider 应该自动检测到它。

请检查您的 PATH 中有什么 dotnet。注意;您应该在安装 .NET Core SDK 后重新启动 Rider。

【讨论】:

@Philippe 在尝试让 Xamarin.Android 工作后,我在 Arch 上遇到了同样的问题。你找到解决这个问题的方法了吗? 也在 Arch 上。我降级到以前版本的 dotnet (2.1.5)。他们现在出现了 @masterwok 在 Arch 上,使用 DotNet (2.1.500) 和 Rider (2018.2.3) 我设法解决了在 Settings/Build,Execution,Deployment/Toolset and Build/.NET Core CLI executable path 中指定 /opt/dotnet/dotnet 的问题【参考方案4】:

这些都不适合我。我在 PopOS 上找到了一个解决方案 here,如下图所示。我认为总的来说,通过 Snap 商店从 Jetbrains 安装任何东西仍然不是一个好主意。我在 Intellij 和 Pycharm 上遇到的问题可以追溯到 ~2014 年,通过不使用 Snap 商店立即得到解决。

【讨论】:

【参考方案5】:

我犯了一个相当愚蠢的错误,安装 .NET Core runtime 但忘记了 .NET Core SDK(所以dotnet 工具仍然有效)。在我实际安装 SDK 后,Rider 立即检测到它(.NET 3.1 和 Rider 2019.3)。

使用dotnet --infoby masterwok 的建议很快就突出了这个问题。

【讨论】:

以上是关于Rider 无法检测 Ubuntu 上的 .NET 核心安装的主要内容,如果未能解决你的问题,请参考以下文章

JetBrains Rider:无法更改项目配置文件中的环境变量

Rider 无法在 Mac 上发布 .NET Web 应用程序

无法在 Rider 中使用 .NET Standard 2.0 Lib 加载 Xamarin Forms 项目

在 Ubuntu 16.04 上创建解决方案文件时,JetBrains Rider 挂起

Mac版Rider加载编译.Net失败,Unity插件安装失败问题

Mac版Rider加载编译.Net失败,Unity插件安装失败问题