首页 前端知识 已解决:未能加载文件或程序集“Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”

已解决:未能加载文件或程序集“Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”

2025-02-27 11:02:32 前端知识 前端哥 451 829 我要收藏

本问题已得到解决,请看以下小结:

关于《Newtonsoft.Json版本不兼容的问题》的解决方案

记录备注
报错时间2024年
报错版本VS2022
报错复现列表点击查询时报错
报错描述未能加载文件或程序集“Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”
报错截图-
报错原因

可能原因一:版本不兼容,引用的包版本过低,旧接口不满足新功能。

可能原因二:配置文件例如Web.config  类库对应的.csproject,指定了必须引用某版本的dll。

解决步骤

方法一,Web.Config中加:
 

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

方法二,没有web.config,在你调试所在的.cs文件对应路径的类库的工程文件(.csproj)中加:

<PackageReference Include="Newtonsoft.Json" Version="13.0.0.0" />

方案三:对应版本dll覆盖

你的C# NuGet 包被安装在全局缓存目录:
 

C:\Users\username\.nuget\packages\newtonsoft.json\13.0.1\lib\net45

我们在本地缓存目录中找到对应版本的nuget包(本例是13.0.0.0的Newtonsoft.Json)

然后黏贴到你项目的bin\debug目录下保存dll的地方,这样你debug的时候就不会报错了

实行这三种方案后,重新点击启动VS2022即可解决问题

效果图
小结

1.解决思路就两个:要么改dll,要么改配置文件。

2.方法:修改config文件、修改工程文件、找对应版本dll覆盖。

 

 (本文完,如有您具备更好方案,恳请您在评论区指出!谢谢。)

转载请注明出处或者链接地址:https://www.qianduange.cn//article/21669.html
标签
评论
发布的文章

Opencv [去除水印]

2025-02-27 11:02:42

0基础学前端-----CSS DAY13

2025-02-27 11:02:41

蓝桥杯之日期题

2025-02-27 11:02:39

模拟算法.

2025-02-27 11:02:39

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!