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

Rider cannot detect .NET core installation on Ubuntu

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

Cannot detect .NET Core. Please install .NET Core and restart Rider.

我做错了什么吗?

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

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

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

先执行dotnet --info获取.NET Core SDKs安装路径:

.NET Core SDK (reflecting any global.json): Version: 2.1.500
Commit: b68b931422

Runtime Environment: OS Name: arch OS Version: OS Platform:
Linux RID: arch-x64 Base Path: /opt/dotnet/sdk/2.1.500/

Host (useful for support): Version: 2.1.6 Commit: 3f4f8eebd8

.NET Core SDKs installed:
2.1.500 [/opt/dotnet/sdk]

.NET Core runtimes installed: Microsoft.NETCore.App 2.1.6
[/opt/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

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

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

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

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

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

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

export PATH=${PATH}:${MSBuildSDKsPath}

我设法解决了问题设置

/opt/dotnet/dotnet

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

以前,我使用的是 /usr/bin/dotnet,但它不再有效了。此外,自动检测似乎已损坏。

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

#!/bin/sh

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

# vim: ts=2 sw=2 et:

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

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

None 其中对我有用。我在 PopOS 上找到了一个解决方案 here,如下面的屏幕截图所示。我认为总的来说,通过 Snap 商店安装 Jetbrains 的任何东西仍然是一个坏主意。我在使用 Intellij 和 Pycharm 时遇到过问题,这些问题可以追溯到 ~2014 年,但通过不使用 Snap 商店立即得到解决。

我的解决方案是在项目根目录下使用 运行 命令 dotnet new console。然后,显示模板。