C# .net内核是否仍应抛出System.ExecutionEngineeException?

C# .net内核是否仍应抛出System.ExecutionEngineeException?,c#,memory,clr,C#,Memory,Clr,我有一个.netcore 3.1(带有一些.netstandard 2.0库,没有外部引用,只有托管代码)项目,我目前正在调查托管堆损坏的问题。偶尔,它会在代码的不同区域(例如,创建新列表时)抛出一个HResult=0x80131506的System.ExecutionEngineeException 更新:我已删除.net dll并将其作为.net标准项目重写,但问题仍然存在 我无法创建一个简单的项目来演示该问题,但当我在上查找异常时,我得到: “此类型以前表示运行时中存在未指定的致命错误。运

我有一个.netcore 3.1(带有一些.netstandard 2.0库,没有外部引用,只有托管代码)项目,我目前正在调查托管堆损坏的问题。偶尔,它会在代码的不同区域(例如,创建新列表时)抛出一个HResult=0x80131506的
System.ExecutionEngineeException

更新:我已删除.net dll并将其作为.net标准项目重写,但问题仍然存在

我无法创建一个简单的项目来演示该问题,但当我在上查找异常时,我得到:

“此类型以前表示运行时中存在未指定的致命错误。运行时不再引发此异常,因此此类型已过时。”

它进一步列出了这种类型对于所有.net core都是过时的。我从来没有深入研究过.net以尝试调查堆损坏,因此我无法100%确定如何表达我所寻找的内容,但我想这可以归结为:

  • 我的项目抛出此异常的事实是否让我进一步了解堆损坏的原因?(我能查出这是从哪里来的吗)
  • 如果某个异常出了问题,并且不应该抛出该异常,那么.net是否仍有可能抛出该异常
  • 如果它不仅仅是“你在某处有内存损坏”的产物,有没有工具/技术可以缩小这个范围

  • 这里很明显的一点是,您在项目中使用的是Net Framework DLL。。我从那里开始。混合使用Core和FW并不是我真正推荐的尝试。不幸的是,删除.NET4.7依赖项并不能解决这个问题。