VS2019编译SharpSnmpLib示例失败:无法加载System.Text.Json程序集
解决SharpSnmpLib示例项目VS2019编译NETSDK1060错误的思路
清理项目缓存与资产文件
手动删除项目下的obj和bin文件夹(重点删除报错路径C:\src\c_sharp\sharpsnmplib-samples_v2\Samples.Engine\obj内的所有文件),然后在VS2019中执行「生成」→「清理解决方案」,再重新「生成解决方案」。强制绑定高版本程序集
根据项目类型添加程序集重定向,让系统已安装的高版本System.Text.Json替代要求的7.0.0.3版本:- 若为.NET Framework项目,修改
App.config:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-7.0.0.3" newVersion="8.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> - 若为.NET Core/.NET项目,添加或修改
runtimeconfig.template.json:{ "runtimeOptions": { "assemblyBinding": { "dependentAssembly": [ { "name": "System.Text.Json", "publicKeyToken": "cc7b13ffcd2ddd51", "bindingRedirects": [ { "oldVersion": "0.0.0.0-7.0.0.3", "newVersion": "8.0.0.0" } ] } ] } } }
- 若为.NET Framework项目,修改
重置NuGet包还原
- 打开VS2019「工具」→「选项」→「NuGet包管理器」→「常规」,勾选「允许NuGet下载缺失的包」和「在生成时自动检查缺失的包」。
- 右键解决方案→「管理解决方案的NuGet程序包」,确认
System.Text.Json已安装到Samples.Engine项目且版本为8.0.x,未安装则重新安装。 - 右键解决方案→「还原NuGet包」,等待完成后重新编译。
检查并升级项目目标框架
右键Samples.Engine项目→「属性」→「应用」,查看目标框架版本。System.Text.Json 8.0.x要求目标框架至少为.NET 6,若项目目标框架过低,升级到兼容版本(如.NET 6)。修复.NET SDK环境
- 打开「控制面板」→「程序和功能」,确认已安装.NET 7.0 SDK(部分项目依赖对应版本SDK的组件),未安装则下载安装。
- 在项目根目录打开命令提示符,依次执行:
dotnet clean dotnet restore
内容的提问来源于stack exchange,提问作者jazaman
相关产品推荐
相关产品推荐

