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 可执行文件路径 值在File → Settings → Build, 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/dotnet
,which 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
。然后,显示模板。
按照骑士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 可执行文件路径 值在File → Settings → Build, 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/dotnet
,which 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
。然后,显示模板。