并行运行许多测试时,DI / Unity OutOfMemoryException

时间:2018-11-04 20:10:50

标签: c# dependency-injection out-of-memory unity-container

我们在Visual Studio / Windows / C#解决方案中有大约1万个xUnit测试。该解决方案使用Unity DI。最近,当所有或大部分测试同时并行运行时,它开始产生 OutOfMemoryException 。典型的异常消息如下:

  

消息:Unity.Exceptions.ResolutionFailedException:依赖关系的解析失败,类型='ISomeService',名称='(none)'。   发生以下异常:正在解决。   异常是:OutOfMemoryException-引发了类型为'System.OutOfMemoryException'的异常。

但是有时它可能会出现在一些与数据库相关的底层代码之外。

这不是的循环引用问题(实际上会产生 StackOverflowException ,但不会产生 OutOfMemoryException ),因为如果我重新运行任何失败的测试一个接一个地(甚至是一些小组),然后他们中的所有全部通过。

对于如何处理此问题,我将不胜感激。所有项目都是针对AnyCPU构建的,并且未设置gcAllowVeryLargeObjects。

非常感谢!

0 个答案:

没有答案