如何指定项目使用dotnet test命令?原命令突然失效求助
dotnet test指定项目文件时报错"Unrecognized command or argument"的问题 问题背景
持续5个月使用命令dotnet test ./path/to/MyTestFolder/MyTestProject.csproj运行测试,突然出现报错:
Unrecognized command or argument './path/to/MyTestFolder/MyTestProject.csproj'
已确认路径正确,尝试替换斜杠为反斜杠无效,在命令提示符、PowerShell、VS2022开发终端均测试过,系统为Windows11,安装了.NET SDK 6.0.400和7.0.102版本。
排查与解决步骤
检查当前使用的.NET SDK版本
运行dotnet --version查看终端当前绑定的SDK版本,不同版本的dotnet test参数解析逻辑可能存在差异。若当前使用7.0.102,可在项目根目录执行dotnet new globaljson --sdk-version 6.0.400生成global.json,锁定SDK版本后重新执行测试命令。显式指定项目参数
改用带--project参数的命令:dotnet test --project ./path/to/MyTestFolder/MyTestProject.csproj,显式声明目标测试项目,避免参数解析歧义。清理项目与缓存
- 执行
dotnet clean清理项目生成文件,再运行dotnet restore重新还原依赖; - 运行
dotnet nuget locals all --clear清除NuGet本地缓存,之后重新执行测试命令。
- 执行
验证终端环境变量
运行where dotnet查看当前dotnet.exe的路径,确保指向官方安装目录(通常为C:\Program Files\dotnet\dotnet.exe),避免PATH中旧版本或损坏的SDK路径干扰。修复.NET SDK安装
打开控制面板→程序和功能,找到已安装的.NET SDK 6.0.400和7.0.102,选择「修复」选项,修复可能损坏的安装文件。
内容的提问来源于stack exchange,提问作者heringer

