zoukankan      html  css  js  c++  java
  • 记一次动态库版本冲突

    背景:

      项目为asp.net mvc项目,使用的是.net framework 4.0。

    起因:

      由于项目要加入消息推送,因此引入极光推送,在项目内加入cn.jpush.api.dll。

    问题:

      消息推送代码加入之后,编译通过,运行时报错【无法找到Newtonsoft.Json.dll 9.0.0】。

      此时项目内已经在使用Newtonsoft.Json.dll v4.5.0版本。

    解决方法:

      1.于是尝试删除Newtonsoft.Json.dll v4.5.0版本的引用,加入Newtonsoft.Json.dll 9.0.0版本引用。

      并且修改nuget的package.config中关于Newtonsoft.Json.dll的版本信息(nuget的文档参考:https://docs.microsoft.com/en-us/nuget/)。

      这时候,消息推送代码可以运行了

      2.但是问题没有解决,系统启动的时候,报错。

      原来自定义的AreaRegistration的RegisterArea方法里面,执行GlobalConfiguration.Configuration.Routes.MapHttpRoute报错,找不到Newtonsoft.Json.dll v4.5.0版本。

      .net framework默认使用的是Newtonsoft.Json.dll v4.5.0版本,按照vs编译提示,在Web.config内加入强制版本信息后,问题解决。

      在runtime节点加入如下信息,问题解决:

    1 <assemblyBinding>
    2     <dependentAssembly>
    3     <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
    4 <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
    5     </dependentAssembly>
    6 </assemblyBinding>        
    View Code
  • 相关阅读:
    数据库封装类使用
    C# Socket-TCP异步编程原理详解附源码
    Mysql 5.7安装与配置-默认密码
    Python-Django WebAPi基本使用方法
    C# 微信小程序获取openid sessionkey
    voith项目配置服务程序
    社区安防系统
    数据结构和算法-一元多项式运算算法(加法)
    数据结构和算法-贪婪算法
    Oracle分页SQL语句
  • 原文地址:https://www.cnblogs.com/zhuzhu_/p/7909485.html
Copyright © 2011-2022 走看看