我使用实体框架核心创建了一个.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
我找到了答案;我更改了 dotnet 7 的
/usr/share/dotnet
中的 Root dotnet env。
export `DOTNET_ROOT=/usr/share/dotnet`
Linux 用户可以设置
DOTNET_ROOT
环境变量以指向其 .NET SDK 安装目录:
1。选择编辑方法:
Linux 中设置环境变量的方式主要有两种:
.bashrc
或 .zshrc
。export
命令直接设置变量。2。编辑外壳配置文件(持久):
.bashrc
(位于您的主目录中).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
替换为您的实际主目录路径。