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

piwo6bdm  于 2023-06-07  发布在  .NET
关注(0)|答案(7)|浏览(226)

按照Rider IDE的指示,我安装了Microsoft的.NET Core框架。我知道安装是成功的,因为我能够从我的终端运行dotnet命令。但是,在重新启动Rider后,我仍然收到以下消息:
无法检测.NET Core。请安装.NET Core并重新启动Rider。
我做错什么了吗?

puruo6ea

puruo6ea1#

我设法修复了问题设置

/opt/dotnet/dotnet

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

以前,我使用/usr/bin/dotnet,但它不再工作了。还有,自动检测似乎坏了。
实际上,which dotnet返回的路径/usr/bin/dotnet只是一个shell文件,它的内容是:

#!/bin/sh

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

# vim: ts=2 sw=2 et:
oprakyz7

oprakyz72#

由于在Arch Linux上安装Xamarin Android失败,我刚刚遇到了这个问题,并通过执行以下操作解决了这个问题:
先执行dotnet --info,获取***.NET Core SDK安装路径***:
.NET Core SDK(反映任何global.json):版本:2.1.500
提交:b68 b 931422
运行时环境:操作系统名称: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)的绝对路径应设置为Rider中 FileSettingsBuild,Execution,DeploymentToolset and Build 设置下的***.NET Core CLI可执行文件路径***值。
为了以防万一,这里是我的其他工具集配置设置:

***Mono执行路径:***/usr/bin/mono
***使用MSBuild版本:***自动检测(15,0),/usr/lib/mono/msbuild/bin/MSBuild. dll

我还将以下值添加到 .bashrc 中的PATH中,因为我收到了一个关于未找到Razor的错误:
export MSBuildSDKsPath=/opt/dotnet/sdk/$(dotnet --version)/Sdks
导出PATH=${PATH}:${MSBuildSDKsPath}

k2arahey

k2arahey3#

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

r6hnlfcb

r6hnlfcb4#

您可以在Rider设置中设置.NET CLI的路径:菜单“文件”* →“设置”* →“生成、执行、部署”* →“工具集和生成”*。但通常Rider应该自动检测它。
请检查您的PATH中有什么dotnet。注意;你应该在安装.NET Core SDK后重新启动Rider。

qxsslcnc

qxsslcnc5#

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

nukf8bse

nukf8bse6#

我犯了一个相当愚蠢的错误,安装了.NET Core运行时,但忘记了.NET CoreSDK(因此dotnet工具仍然可以工作)。一旦我真正安装了SDK,Rider立即检测到它(.NET 3.1和Rider 2019.3)。
但是masterwok建议使用dotnet --info很快就突出了这个问题。

ws51t4hk

ws51t4hk7#

根据YouTrack上的答案改编的解决方案。
在文件launchsettings.json中添加DOTNET_ROOT环境变量。在我的情况下,它是:"DOTNET_ROOT": "/usr/share/dotnet"

相关问题