zoukankan      html  css  js  c++  java
  • .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 为什么放在了那里就会出现这个错误?等以后遇到了再实际解决吧!

  • 相关阅读:
    组织机构数据隔离(上级可看下级,同级屏蔽)的高效实现思路
    .NET Core 3.x 基于AspectCore实现AOP,实现事务、缓存拦截器
    .NET Core 3.x 基于Autofac的AOP缓存
    Web开发中【密码加密】详解
    python多线程 DBUtils操作数据库
    处理MariaDB Galera cluster初始化和启动报错两例
    搭建MariaDB Galera Cluster集群 10.3.8
    AzureWeb应用作为客户端携带证书访问其他链接办法
    CTF
    [KuangBin专题四]Silver Cow Party
  • 原文地址:https://www.cnblogs.com/qulianqing/p/7087054.html
Copyright © 2011-2022 走看看