该项目有很多迁移(准确地说是 380 个)和 3360 个单元测试。突然,再创建一个迁移后,所有单元测试突然失败,抛出异常。
System.OutOfMemoryException : Exception of type 'System.OutOfMemoryException' was thrown.
具有以下堆栈跟踪:
RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
Activator.CreateInstance(Type type, Object[] args)
<>c__DisplayClass0_0.<CreateTestClass>b__0() line 42
ReflectionAbstractionExtensions.CreateTestClass(ITest test, Type testClassType, Object[] constructorArguments, IMessageBus messageBus, ExecutionTimer timer, CancellationTokenSource cancellationTokenSource) line 42
这不仅发生在运行所有测试时,即使运行单个测试,它也总是会失败并出现相同的错误。当我删除新的迁移时,它起作用了。当我什至添加一个空的新迁移(其中 up() 和 down() 为空)时,它会抛出 OutOfMemory 错误。
当我右键单击测试并调用“调试”时,它运行时没有错误。所以我什至不知道如何调试问题。
有没有人遇到过这个问题?
OutOfMemoryException
发生此错误的原因是因为正在使用的计算机物理 RAM 内存不足,无法分配必要的 RAM 来完成任务。
我尝试解决这个问题的方法是关闭后台应用程序,通过任务管理器关闭它们。要打开,请在任务管理器中单击 Windows 键类型。单击内存列,这将按内存消耗从高到低排序。结束您不需要的程序的任务,例如 chrome 或互联网浏览器。
希望这有帮助