c# - .NET Framework dll 无法加载文件或程序集“Newtonsoft.Json ....”
问题描述
我正在创建 ac# .net 框架库 (.dll),它将充当另一个软件的插件。我想使用 Newtonsoft.json 库,但是当我调用 json 库时,我得到了经典的“FileNotFoundException”:
Could not load file or assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.
.dll 肯定被复制到我试图从中运行插件的目录中。很多其他人都遇到过这个问题,我已经尝试了我所看到的一切(更新、重新安装等),但还没有运气。因为这是一个类库,所以我没有“app.config”文件来处理绑定重定向,所以我无法尝试。
我现在有非常基本的代码,这个包是我使用的唯一外部参考。我今天才开始研究这个,只尝试过 Newtonsoft.Json 版本 12.0.2。然而,我觉得 VS 似乎在寻找 12.0.0.0 很奇怪。这不是一个下载选项。同样,我尝试降级到版本 11.0.2,然后它给了我同样的错误,说它找不到版本 11.0.0.0。
解决方案
即使您的项目可能没有 .app 配置,您仍然可以通过卸载项目并查看 .csproj 文件来查看包引用。
要尝试强制直接引用 Newtonsoft.Json 12.0.2,您可以添加此代码段
<ItemGroup>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.2</Version>
</PackageReference>
</ItemGroup>
我建议您在 Newtonsoft.Json 的 .csproj 中删除任何其他引用
推荐阅读
- php - 如何在 laravel 验证中验证嵌套数组并将其合并
- c# - 如何在更新/修改模式下打开 MemoryStream
- ide - QtCreator 是否有另一种选择
- javascript - 为什么 VueJs 原生不支持多选
- elasticsearch - 如何重新加入过期数据的节点
- java - Android 拆分安装错误(-2):Module_Unavailable 错误
- php - “消息”:“未定义属性:Illuminate\Database\Query\Builder::$map”
- r - R stan返回变量“rhs”不存在
- graphql - AND 没有在 GraphQL 中返回结果
- javascript - 将一个值(值是一个对象)从一个对象复制到数组不起作用?