类型 'JsonConvert' 存在于两个 'Newtonsoft.Json
The type 'JsonConvert' exists in both 'Newtonsoft.Json
我正在做一个项目,我也需要 Microsoft azure SDK 和 Autodesk NuGet 包,问题是当我安装 Autodesk forge Nuget 时,我收到关于“类型 'JsonConvert' 存在”的错误在两个 'Newtonsoft.Json' 中。
当我检查参考对象浏览器时,我得到了 2 个版本的 Newtonsoft,其中一个 6.0 指的是 Microsoft azure sdk。
我试图从 .csproj 中删除旧版本,但没有找到。
下面是对象浏览器屏幕
我得到的错误是
The type 'JsonConvert' exists in both 'Newtonsoft.Json,
Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' and
'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral,
PublicKeyToken=30ad4fe6b2a6aeed'
任何解决它的建议,我确实尝试检查两个包的依赖关系,但一个确实需要大于 10 的 Newtonsoft 版本,而另一个仍然只参考 6.0
编辑:
得到解决方案,所以在这里添加我提到的内容
- two different DLL with same namespace
- extern alias (C# Reference)
- Extern alias walkthrough
这种情况可以通过为一个(或两个)冲突程序集使用别名来解决。
此处已回答类似问题:。
您需要执行两个步骤:
- 为程序集指定一个别名(通过在对象浏览器中选择属性)
- 在您的代码中使用关键字
extern alias <alias-name>;
上面类似问题中给出了一个例子
这在微软的文档中也有说明:extern alias。它引入了一个并行的全局命名空间。
我正在做一个项目,我也需要 Microsoft azure SDK 和 Autodesk NuGet 包,问题是当我安装 Autodesk forge Nuget 时,我收到关于“类型 'JsonConvert' 存在”的错误在两个 'Newtonsoft.Json' 中。 当我检查参考对象浏览器时,我得到了 2 个版本的 Newtonsoft,其中一个 6.0 指的是 Microsoft azure sdk。
我试图从 .csproj 中删除旧版本,但没有找到。
下面是对象浏览器屏幕
我得到的错误是
The type 'JsonConvert' exists in both 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' and 'Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
任何解决它的建议,我确实尝试检查两个包的依赖关系,但一个确实需要大于 10 的 Newtonsoft 版本,而另一个仍然只参考 6.0
编辑: 得到解决方案,所以在这里添加我提到的内容
- two different DLL with same namespace
- extern alias (C# Reference)
- Extern alias walkthrough
这种情况可以通过为一个(或两个)冲突程序集使用别名来解决。
此处已回答类似问题:
您需要执行两个步骤:
- 为程序集指定一个别名(通过在对象浏览器中选择属性)
- 在您的代码中使用关键字
extern alias <alias-name>;
上面类似问题中给出了一个例子
这在微软的文档中也有说明:extern alias。它引入了一个并行的全局命名空间。