VS22扩展迁移报错:找不到Microsoft.VisualStudio.Threading 17.3.0.0
给你几个直接有效的排查修复步骤:
补全程序集绑定重定向
打开项目的app.config(WPF/WinForms类扩展)或对应配置文件,在configuration/runtime/assemblyBinding节点下添加重定向规则,让运行时把对17.3.0.0的请求转到已安装的17.3.44版本:<dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-17.3.44.0" newVersion="17.3.44.0" /> </dependentAssembly>核对项目引用与NuGet包的一致性
右键项目→管理NuGet程序包,确认Microsoft.VisualStudio.Threading确实是17.3.44版本。再打开项目文件(.csproj),检查对应的<Reference>节点,确保HintPath指向的是NuGet缓存目录里的17.3.44版本DLL,而不是旧的VS19路径。彻底清理重建项目
直接删掉项目根目录下的bin和obj文件夹;打开NuGet包管理器设置,清除所有NuGet缓存;重启VS22后重新生成整个解决方案,避免旧缓存干扰。检查VS22的安装组件
打开VS安装器,确认“Visual Studio扩展开发”工作负载已安装,且该负载下的“Visual Studio SDK”是最新版。部分VS扩展依赖的程序集需要SDK自带的支持,别漏装组件。确认扩展的目标VS版本配置
看项目属性的“调试”页,确保“启动外部程序”指向VS22的devenv.exe(路径一般是C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe这类)。再检查.vsixmanifest文件里的“安装目标”,版本范围设为[17.0, 18.0),覆盖VS22的所有版本。
内容的提问来源于stack exchange,提问作者Gil Porter

