zor*_*rci 2 c# json.net visual-studio-2019 webapi
我在 Visual Studio 2019 中启动了一个新的 Web 应用程序。我添加了一个 Web Api。不久之后或同时(不记得了),我开始收到这样的警告:
Warning No way to resolve conflict between "Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" and "Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed". Choosing "Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" arbitrarily.
Run Code Online (Sandbox Code Playgroud)
我注意到但没有做任何事情,因为我决定等到它给我带来问题。
而现在...
我将要使用一个 JSon 对象,但是在写这个的时候:
JObject jObject = JObject.Parse(result);
Run Code Online (Sandbox Code Playgroud)
编译器给了我这个错误:
Error CS0433 The type 'JObject' exists in both 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' and 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了一下,得出的结论如下:
<dependentAssembly><assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/><bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/></dependentAssembly>而现在,我已经没有想法了。我被卡住了。有谁知道该怎么做?
****新更新**** 我找到了 6.0.0.0。请看一下图片:
在资源中,我双击了 Newtonsoft.Json 引用,在对象浏览器中我可以看到 6.0.0.0 和 12.0.0.0。
如您所见,6.0.0.0 和 12.0.0.0 都存在。6.0.0.0 位于 SDK 内的 C:-drive 上。
我试图删除该文件。我的项目疯了。然后我用我的项目中的 12.0.0.0 替换了该文件。这给了我组件不匹配的错误。
我终于把旧的 .dll 复制回来了。又有点卡住了。
有任何想法吗?
好的,我修好了。
我的 .csproj 文件中有 2 个对 Newtonsoft.Json 的引用。一个指向包......\xxx.12.0.3,一个指向包......\xxx.12.0.2。
它们都高于 6.0.0.0,这是我得到的错误。所以我忽略了他们。
但实际上,在我的项目中,我只有 12.0.3 文件夹而没有 12.0.2 文件夹。所以参考不起作用,VS试图找到另一个地方看。
我想它环顾四周,也许使用 GAC,但最终它最终在我的本地驱动器中的一个 Azure SDK 中找到了 Newtonsoft.Json 6.0.0.0。这就是问题所在。
我从我的 .csproj 中删除了 12.0.2 引用,最后它起作用了。
| 归档时间: |
|
| 查看次数: |
1892 次 |
| 最近记录: |