c# - newtonsoft.json 的两个依赖版本
问题描述
我有一个项目,我需要有两个不同版本的 newtonsoft.json。我尝试像这样使用codeBase:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<codeBase version="10.0.0.0" href="dll\newtonsoft\10.0.3\Newtonsoft.Json.dll"/>
<codeBase version="12.0.0.0" href="dll\newtonsoft\12.0.1\Newtonsoft.Json.dll"/>
</dependentAssembly>
但现在我得到“发现同一依赖程序集的不同版本之间的冲突”。例外。
我不确定项目参考中应该是什么版本,VS 在此自动安装一个版本。希望有人能在这个过程中帮助我。
解决方案
您在这里需要做的实际上是删除其中一个,可能是较旧的。但是,如果您删除它,umbraco 显然会停止工作,因为它希望它在那里,对吗?解决方案是按照此处指定的方式将绑定重定向添加到您的 web.config 。使用 oldVersion 属性的范围,以便尝试绑定到版本 0.0.0.0 到 12.0.1 的任何内容都将使用引用的 12.0.1。
请注意,这并不能保证对每个引用都有效,因为如果在 10 和 12.0.1 之间发生了重大更改,您将遇到麻烦,但理想情况下,这将在编译时而不是运行时被捕获(如果您自己的代码是直接引用)。如果它不是您自己的代码(因为直到运行时才会出现错误),您需要确保它在运行时按预期工作。
推荐阅读
- java - 最后一圈:圆桌骑士
- python - 如何在列表中找到所有局部最大值和最小值
- html - Align text right in li that does not have class or id
- openidm - idm环境下执行Javascript报错
- c++ - 为什么在此方法中声明此变量会覆盖我的类成员(C++)?
- javascript - 如何通过 .then() 链保留响应 url 和响应正文?
- java - 尝试在 Java 中使用 AWT 绘制饼图
- python - 如何在python中从csv绘制图形
- mysql - MySQL 结合两个计数语句
- java - DELETE 和 PUT 方法总是调用 POST