引用Newtonsoft版本出现版本号自动降低的问题

guanyelong 2018-05-15 02:20:36
由于是两个项目,其中一个项目引用另一个项目所以要求Newtonsoft.DLL版本统一。问题来了。我在一个SignalR项目中引用Newtonsoft.DLL版本为9.0.1 但是引入后发现项目引用中始终是6.0.0.换了好几种引用方法,有直接添加dll的,有用命令添加dll的,引用完成后还是自动变成了6.0.0.请各位大神指点,怎么办。
通过命令中有以下情况不知道哪个对其有影响。

现有 packages.config 文件中检测到一个或多个未解析包依赖项约束。必须解析所有依赖项约束以添加或更新包。如果正在更新这些包,则可忽略此消息,如果没有更新这些包,错误可能阻止当前包操作: 'Common.Logging.Core 3.4.1 约束: Microsoft.CSharp (>= 4.0.1)', 'Microsoft.Owin.Security.Facebook 2.0.0 约束: Newtonsoft.Json (>= 4.5.11)', 'Microsoft.Owin.Security.MicrosoftAccount 2.0.0 约束: Newtonsoft.Json (>= 4.5.11)', 'Microsoft.Owin.Security.OAuth 2.0.0 约束: Newtonsoft.Json (>= 4.5.11)', 'Microsoft.Owin.Security.Twitter 2.0.0 约束: Newtonsoft.Json (>= 4.5.11)', 'WebGrease 1.5.2 约束: Newtonsoft.Json (>= 5.0.4)'
...全文
550 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天上下雨 2018-05-15
  • 打赏
  • 举报
回复
看看你的类库里面是不是引用的低版本的~
apple8160 2018-05-15
  • 打赏
  • 举报
回复
看看你的 引用的项目 .net framework 版本是什么 保持.net framework版本统一 然后升级Newtonsoft 试试 .net framework4.0 好像最高只能用Newtonsoft 6.0
wanghui0380 2018-05-15
  • 打赏
  • 举报
回复
在你主输出项目里,使用nuget升级为最高版本的。此时你的config里会自动在runtime节配置为最高的版本。 比如如下配置
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
也就是你低版本的项目不要去更改,你只需保证主输出项目的版本是最高的就可以,同时你需要保证输出项目的bin里的是最高的,并且config的runtime运行时制定,在运行期使用最新的版本
正怒月神 版主 2018-05-15
  • 打赏
  • 举报
回复
这个问题,可能是由于config 配置文件的关系。 试试nuget先卸载相关dll,然后删除相关配置信息。 然后在Nuget下载一遍。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧