如何修复 dotnet ef 工具,找不到 .NET 位置

问题描述 投票:0回答:2

我使用实体框架核心创建了一个.net core 7项目。嗯,当时我安装了.net core 6,所以我的全局ef工具还是版本6,然后我更新到版本7。这里我遇到了问题,它说我没有安装框架。我决定卸载 dotnet。然后我重新安装了sdk 7和全局ef工具。并出现新的错误。我尝试重新安装很多次。但还是这样,现在ef工具用不了了

This is dotnet --info

    .NET SDK:
 Version:   7.0.101
 Commit:    bb24aafa11

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  22.04
 OS Platform: Linux
 RID:         ubuntu.22.04-x64
 Base Path:   /usr/share/dotnet/sdk/7.0.101/

Host:
  Version:      7.0.1
  Architecture: x64
  Commit:       97203d38ba

.NET SDKs installed:
  7.0.101 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  DOTNET_ROOT       [/usr/lib/dotnet]

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

这就是错误,

You must install .NET to run this application.

App: /home/apriza/.dotnet/tools/dotnet-ef
Architecture: x64
App host version: 7.0.1
.NET location: Not found

Learn about runtime installation:
https://aka.ms/dotnet/app-launch-failed

Download the .NET runtime:
https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=ubuntu.22.04-x64&apphost_version=7.0.1
asp.net-core ubuntu .net-core entity-framework-core
2个回答
26
投票

我找到了答案;我更改了 dotnet 7 的

/usr/share/dotnet
中的 Root dotnet env。

export `DOTNET_ROOT=/usr/share/dotnet`

0
投票

Linux 用户可以设置

DOTNET_ROOT
环境变量以指向其 .NET SDK 安装目录:

1。选择编辑方法:

Linux 中设置环境变量的方式主要有两种:

  • 编辑 Shell 配置文件:此方法使更改在终端会话中保持不变。它涉及修改配置文件,例如
    .bashrc
    .zshrc
  • 终端中设置:此方法仅影响当前终端会话。您可以使用终端中的
    export
    命令直接设置变量。

2。编辑外壳配置文件(持久):

  • 使用文本编辑器打开您的 shell 配置文件。常见的配置文件包括:
    • Bash:
      .bashrc
      (位于您的主目录中)
    • Zsh:
      .zshrc
      (位于您的主目录中)
  • 将以下行添加到文件末尾,将
    $HOME
    替换为您的实际主目录路径:
export DOTNET_ROOT=$HOME/.dotnet
  • 保存更改并关闭编辑器。

  • 获取个人资料(可选):

    • 要使更改在当前终端会话中立即生效,请运行以下命令:

      source ~/.bashrc  # For bash profile
      source ~/.zshrc  # For zsh profile
      

3.终端设置(当前会话):

  • 打开终端窗口。
  • 运行以下命令,将
    $HOME
    替换为您的实际主目录路径:
export DOTNET_ROOT=$HOME/.dotnet

这仅为当前终端会话设置

DOTNET_ROOT
变量。一旦关闭终端,该变量将被取消设置。

重要提示:

  • 如果与默认位置不同,请务必将
    $HOME
    替换为您的实际主目录路径。
  • 您可能需要重新启动任何依赖 .NET SDK 运行的应用程序才能使更改完全生效。
© www.soinside.com 2019 - 2024. All rights reserved.