求助:PhysX SDK脚本删除VS2022条目致vswhere无法识别安装
解决PhysX项目生成脚本导致VS2022被vswhere无法识别的问题
定位脚本中的破坏性操作
直接打开PhysX的项目生成.bat脚本,搜索以下关键词,排查是否有修改/删除VS关键文件或注册表的命令:reg delete或reg add(针对VisualStudio相关注册表项)del或rmdir(针对C:\Program Files (x86)\Microsoft Visual Studio\Installer目录)set(修改VS相关环境变量)
重点检查调用vswhere.exe前后的代码块,大概率是某个清理或配置命令误操作了VS的识别依赖。
紧急恢复VS识别能力
如果运行脚本后vswhere.exe -all无法找到VS2022,直接通过VS Installer修复:- 打开
VS Installer(可从开始菜单搜索找到) - 选中已安装的VS2022实例,点击更多 -> 修复
修复完成后再运行vswhere.exe -all,应该能重新识别到VS2022。
- 打开
修改脚本规避问题
根据排查到的破坏性代码,做针对性调整:- 如果是脚本误删除了Installer目录下的文件:将清理命令限定在PhysX临时目录,不要涉及VS Installer路径
- 如果是脚本修改了VS注册表项:注释掉相关注册表操作,或者调整为仅操作PhysX项目的专属项
- 如果是vswhere调用参数错误:将脚本中的vswhere调用改为标准的VS2022查找命令:
vswhere.exe -version [17.0,18.0) -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64
跳过vswhere自动查找(临时替代方案)
若暂时找不到脚本问题,可以手动指定VS2022路径给脚本:
在运行bat脚本前,先打开命令提示符执行:set VS170COMNTOOLS=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools(注意:根据你安装的VS版本(Community/Professional/Enterprise)调整路径)
之后再运行PhysX的项目生成脚本,脚本会直接使用你指定的VS路径,跳过vswhere查找步骤。
内容的提问来源于stack exchange,提问作者Andrea Martin
相关产品推荐
相关产品推荐

