NopCommerce Nop.Core冲突DLL问题

3
我在NopCommerence项目中,不小心将Newtonsoft.Json DLL添加到了Nop.Core项目中,自那以后,该项目会随机崩溃并给出以下错误信息:
“无法加载文件或程序集“Newtonsoft.Json,Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。所定位的程序集清单定义与程序集引用不匹配。(HRESULT 异常: 0x80131040)”
“无法加载文件或程序集“Newtonsoft.Json,Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。所定位的程序集清单定义与程序集引用不匹配。(HRESULT 异常: 0x80131040)”
我立即从项目中删除了该引用,因此现在Nop.Core项目中没有对该DLL的引用。
但是项目中有一些代码需要查找该引用:
当我们到达该插件时,它会在此处崩溃:
我不知道该去哪里解决这个问题,看起来它正在尝试加载两个不同版本的DLL,并且当我在Google上搜索时,它说要通过NuGet进行更新,我已经这样做了,但仍未解决问题。

foreach 之前从 pluginFiles 中移除 {Newtonsoft.Json.dll} - Filip Bulovic
我不想仅仅从列表中删除它,因为我不知道它是否在其他地方被使用,在插件中出现问题会影响整个项目。 - Jessica
尝试从NuGet更新Newtonsoft.Json.dll,并在整个解决方案中更新它,以便在所有插件和应用程序中更新,因此不会在不同的插件和应用程序中存在不同版本的文件,通过这种方式可以解决您的问题... - Vinit Patel
尝试更新它,但没有成功。 - Jessica
1个回答

0

你已经删除了引用,但实际的dll文件呢?看起来好像有东西在运行时“发现”它,并且它存在于你的磁盘某个地方,应用程序正在找到它。

很难知道该建议什么,但尝试找出应用程序查找插件文件的位置,然后在该目录中查找并删除Json内容。您还可以尝试仅删除整个解决方案中的所有bin和obj目录,因为它们将在下一次构建时重新创建。还要查看解决方案根目录中的packages目录,您可能会在那里找到Json包的副本。如果您已经使用NuGet彻底删除了它,请从packages中删除它。

在开始之前备份副本,以防我的建议完全是垃圾;-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接