VS2022扩展解析JSON时因缺失Microsoft.Bcl.AsyncInterfaces报错
解决VS2022扩展中System.Text.JSON依赖Microsoft.Bcl.AsyncInterfaces缺失问题
检查NuGet包的复制本地属性
- 右键项目中的
Microsoft.Bcl.AsyncInterfaces和System.Text.JSONNuGet包,选择属性,确保复制本地设置为True。VS扩展部署时需要将依赖程序集复制到输出目录,否则实验实例无法定位这些文件。
手动修复NuGet包并验证输出
- 若输出目录缺失依赖DLL,尝试卸载并重新安装对应NuGet包:
Uninstall-Package Microsoft.Bcl.AsyncInterfaces -Force Uninstall-Package System.Text.Json -Force Install-Package System.Text.Json -Version 7.0.1 Install-Package Microsoft.Bcl.AsyncInterfaces -Version 7.0.0 - 安装完成后查看项目
bin\Debug或bin\Release目录,确认Microsoft.Bcl.AsyncInterfaces.dll和System.Text.Json.dll已存在。
配置VSIX资产包含依赖项
- 打开项目的
.vsixmanifest文件,切换到资产选项卡:- 点击添加,选择文件类型。
- 浏览到输出目录中的
Microsoft.Bcl.AsyncInterfaces.dll和System.Text.Json.dll,将其添加到资产列表。 - 确保添加的资产类型设为
Microsoft.VisualStudio.Assembly,源设为对应路径。
添加绑定重定向配置
- 在项目
app.config文件中,补充Microsoft.Bcl.AsyncInterfaces的绑定重定向:
同时确认<dependentAssembly> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" /> </dependentAssembly>System.Text.Json的绑定重定向配置正确。
彻底清理重新部署
- 关闭所有VS实例(含实验实例)。
- 删除项目的
bin、obj及obj\Debug\Package目录。 - 重新打开项目,执行生成 > 重新生成解决方案,再启动调试让VS重新部署扩展到实验实例。
内容的提问来源于stack exchange,提问作者Owen
相关产品推荐
相关产品推荐

