• .net core 2.0的一次奇特经历


    环境:.net core SDK版本 2.0.0-preview1-005977 

             VS 2017 version 15.3.0 preview 3.0

    问题描述:今天在迁移Job的项目中,中午吃饭的时候项目还是能跑起来的,正常。吃完饭,然后回来,项目就挂掉了,在program.cs文件加载过程中直接抛异常:

    System.StackOverflowException
    点进异常信息中去看,就一条记录        $exception    The debugger is unable to evaluate this expression    System.StackOverflowException

    由于周一的时候也遇到这个问题,当时的做法是:新建一个项目,把出错项目的东西都给复制过去,然后运行就好了。 今天又出现了这个问题了,我觉得一定要把它搞明白,不然问题可能还会出现。

    问题查找过程:

       我把旧项目备份了一下,然后在旧项目的基础上把所有我写的东西都给删了,然后再运行项目,项目还是一样的错误。我开始觉得是不是的开发环境出问题了,然后新建了一个项目,结果这个测试的项目可以在本机运行成功,那么我的系统的运行环境是没有问题的。我有点怀疑是不是这个项目只要一出错,会生成某个文件,每次运行的时候,执行到这里就会出错。毕竟我现在两个项目从表面上看是一模一样的。

       接下来我对两个项目从文件管理器中进行比对,结果发现了一个问题,我的出错的项目的inDebug etcoreapp2.0目录下有一堆原来引用的*.dll 包,而新建的项目中什么都没有。

    我于是检查了一遍我的csproj文件,结果出错的项目中除了系统生成的引用并没有加上额外的引用。感觉问题不应该出现在这里。

    后来干脆一下把所有的dll给删除了,项目运行成功了。没有异常信息出现。那么问题就在这里了

    后来一个一个排查之后发现是NewtonSoft.Json.dll这个包的错。删除之后问题解决了。

    可是还有个疑问没有解决: 明明我没有引用那个dll 为什么放在了那里就会出现这个错误?等以后遇到了再实际解决吧!

  • 相关阅读:
    github绑定host
    PHP安全过滤函数
    PHP界定符 <<<EOT
    file_get_contents模拟表单(POST/GET方式提交)
    排序算法(一)冒泡排序
    MySQL的limit查询优化
    SQL Server日期函数集合
    系统查找存储过程和触发器
    C#中跳转页面有那几种方法,简述其区别
    知道sql数据库中的哪个数据表最大
  • 原文地址:https://www.cnblogs.com/qulianqing/p/7087054.html
Copyright © 2020-2023  润新知