时隔十余年回归.NET开发F#,dotnet watch提示未找到框架求助
解决
dotnet watch提示“no frameworks were found”的问题 可能的原因及修复步骤
1. 检查并重装dotnet watch全局工具
dotnet watch是.NET SDK的全局工具,可能存在安装损坏或未安装的情况:
- 先查看已安装的全局工具:
dotnet tool list --global - 如果列表里没有
dotnet-watch,直接安装:dotnet tool install --global dotnet-watch - 若已安装,先卸载再重装以修复可能的损坏:
dotnet tool uninstall --global dotnet-watch dotnet tool install --global dotnet-watch
2. 确认全局工具路径已加入系统环境变量
Linux下.NET全局工具默认安装在~/.dotnet/tools,这个路径必须在系统PATH中才能直接调用:
- 检查当前PATH是否包含该路径:
echo $PATH | grep ~/.dotnet/tools - 如果没找到,将路径加入环境变量:
- 用bash的话,编辑
~/.bashrc,添加一行:export PATH="$PATH:$HOME/.dotnet/tools" - 用zsh的话,编辑
~/.zshrc,添加同样内容 - 保存后执行
source ~/.bashrc(或对应zsh配置文件)让修改生效
- 用bash的话,编辑
3. Arch系Linux(EndeavourOS)专属检查
Arch系的.NET包偶尔会出现路径或权限问题,可尝试:
- 重新安装.NET相关包:
sudo pacman -S dotnet-sdk dotnet-runtime - 验证
DOTNET_ROOT环境变量,你的dotnet --info显示已设置为/usr/share/dotnet,可再确认:
若路径错误,手动设置并持久化:echo $DOTNET_ROOT
将这行同样添加到export DOTNET_ROOT=/usr/share/dotnet~/.bashrc或~/.zshrc中
4. 指定SDK版本运行
在项目目录下创建global.json文件,强制指定使用已安装的7.0 SDK:
{ "sdk": { "version": "7.0.100" } }
之后再执行dotnet watch run测试
内容的提问来源于stack exchange,提问作者hesxenon
相关产品推荐
相关产品推荐

