无法从CMD运行dotnet.exe及VS2022编译加载项目故障排查
初始问题
以管理员身份打开命令提示符,执行命令:
C:\Windows\System32\dotnet.exe
弹出对话框提示:
此应用无法在你的电脑上运行
请联系软件发布者获取适合你电脑的版本。
命令提示符随后输出:
Access is denied
同时无法在Visual Studio 2022中编译任何解决方案,具体错误信息已遗忘。
修复后问题恶化
彻底卸载所有相关组件(.NET SDK、Visual Studio 2022及多个临时文件夹)并重新安装Visual Studio 2022后,问题反而更严重:现在无法加载.NET项目,报错:
The SDK 'Microsoft.NET.Sdk' specified could not be found.
发布问题前,已尝试多种网上解决方案,比如在Program Files (x86)中新建文件夹、调整系统变量Path的路径顺序。
4月28日更新
根据@phuzi的要求,从安装目录执行命令:
C:\Program Files\dotnet>dotnet.exe --list-sdks 9.0.201 [C:\Program Files\dotnet\sdk]
我的项目目标框架为.NET 8,这解释了问题根源。
但重新安装VS2022时(通过VS安装器)已勾选.NET 8,在安装器“单个组件”选项卡的.NET部分检查到以下项目仍处于勾选状态:
- .NET 8.0 Runtime (Long Term Support)
- .NET 9.0 Runtime
- .NET Framework 4.7.2 targeting pack
- .NET Framework 4.8 SDK
- .NET Framework 4.8 targeting pack
- .NET Framework project and item templates
- .NET SDK Advanced ASP.NET features
- ML.NET Model Builder
现在的疑问是:VS安装器为何未正确安装SDK?
4月28日第二次更新
尝试在VS安装器中移除并重新安装.NET 8.0 Runtime (LTS),问题未解决,反而更糟——资源管理器中项目显示为“ProjectName(incompatible)”。
4月30日更新
注意到安装器中已无.NET 8.0 SDK选项,仅能看到.NET SDK且已勾选安装,但问题仍存在。
工作负载方面,已勾选ASP.NET和Web开发、Azure开发及.NET桌面开发。
内容的提问来源于stack exchange,提问作者VincentZHANG

