You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro系统中.NET Core安装后dotnet watch运行报错求助

.NET安装冲突与dotnet watch错误解决

清理冲突安装

你同时使用官方脚本和snap两种方式安装.NET,导致版本与路径冲突,先彻底清理现有安装:

  • 卸载snap的.NET包:
sudo snap remove dotnet-sdk
sudo snap remove dotnet-runtime-70
  • 删除脚本安装的文件:
sudo rm -rf /usr/share/dotnet

统一用官方脚本重装

执行以下命令安装匹配的.NET 7 SDK及运行时:

wget https://dot.net/v1/dotnet-install.sh
chmod +x dotnet-install.sh
sudo ./dotnet-install.sh --install-dir /usr/share/dotnet -channel 7.0 -version latest

指定-channel 7.0是为了锁定稳定的7.x系列,避免自动升级到更高版本引发兼容问题。

配置环境变量

将.NET路径加入系统环境变量,确保系统能正确定位:

  • 打开你使用的shell配置文件(比如~/.bashrc或~/.zshrc),添加以下内容:
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
  • 让配置生效:
source ~/.bashrc  # bash用户执行此命令
# 或者
source ~/.zshrc   # zsh用户执行此命令

验证安装

运行命令确认SDK和运行时版本匹配:

dotnet --list-sdks
dotnet --list-runtimes

正常情况下会看到SDK与对应运行时版本一致(比如SDK 7.0.400对应运行时7.0.10)。

重新测试项目

回到你的Blazor项目目录,运行:

dotnet watch

错误根源

之前的问题本质是:

  • 脚本安装的SDK 7.0.400位于/usr/share/dotnet,但系统优先调用了snap安装的运行时7.0.9(路径/var/lib/snapd/snap/dotnet-sdk/216/),版本不匹配导致rzc.dll无法启动。
  • 两种安装方式的环境隔离冲突,使得编译器依赖的版本与实际运行时版本不兼容。

内容的提问来源于stack exchange,提问作者Ahmed Hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:53:16