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/dotnet
,which 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 --info
by masterwok 的建议很快就突出了这个问题。
【讨论】:
以上是关于Rider 无法检测 Ubuntu 上的 .NET 核心安装的主要内容,如果未能解决你的问题,请参考以下文章
JetBrains Rider:无法更改项目配置文件中的环境变量
Rider 无法在 Mac 上发布 .NET Web 应用程序
无法在 Rider 中使用 .NET Standard 2.0 Lib 加载 Xamarin Forms 项目
在 Ubuntu 16.04 上创建解决方案文件时,JetBrains Rider 挂起