【问题标题】:EF add-migration throwing System.OutOfMemoryExceptionEF 添加迁移抛出 System.OutOfMemoryException
【发布时间】:2016-04-03 11:11:00
【问题描述】:

当我尝试通过 PM 添加迁移文件时,出现内存不足异常。以前有其他人遇到过这个问题并且碰巧知道如何解决吗?到目前为止,我已经尝试重新安装 VS 2013 无济于事

监控我的内存使用情况我有 12GB 可用空间,并且在运行添加迁移时它使用的内存少于 8,因此应该有足够的可用空间。下面是输出

PM> add-migration test

System.OutOfMemoryException:类型异常 'System.OutOfMemoryException' 被抛出。在 System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
在 System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner 亚军)在 System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(字符串 migrationName, String language, String rootNamespace, Boolean 忽略更改)在 System.Data.Entity.Migrations.AddMigrationCommand.Execute(字符串名称, 布尔力,布尔ignoreChanges)在 System.Data.Entity.Migrations.AddMigrationCommand.c__DisplayClass2.<.ctor>b__0() 在 System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作 命令)引发了“System.OutOfMemoryException”类型的异常。

【问题讨论】:

  • 也许看看这个。我以前遇到过这个问题,但从来没有在 Nuget 控制台中执行过命令。希望对您有所帮助:stackoverflow.com/questions/14186256/…
  • 这意味着 devenv.exe 的虚拟内存已满。少用 VS 扩展
  • @magicandre1981 感谢您的建议,但我只安装了 12 个扩展,其中包括我无法删除的扩展,例如微软广告 SDK 和其他扩展。我自己只安装了几个,不知道能不能少用
  • @DrewKennedy 感谢那里的链接。可以确认我的目标是任何 CPU,并且最近没有真正改变任何东西。我可以确认这在几天前之前一直有效
  • 运行 vmmap.exe 并选择 devenv.exe 看看你还有多少可用的虚拟内存:technet.microsoft.com/en-us/sysinternals/dd535533.aspx

标签: c# entity-framework out-of-memory


【解决方案1】:

在这种情况下,只需重新启动 Visual Studio 即可。

【讨论】:

  • 是的,它在重新启动后对我有用。这就是为什么我们认为“重启”这样一个神奇的解决方案!!!
  • 是的,这也适用于我,但我更喜欢有一个解决方案,而不必重新启动 VS。
【解决方案2】:

只是在这里留下一个便条,以防有人遇到同样的错误。我现在已经解决了这个问题。我禁用了 ReSharper,它开始工作。然后我重新启用了重新锐化并清除了它的缓存,现在它在重新锐化启用的情况下继续工作。感谢 magicandre1981 将我指向加载项。

编辑:我使用的 ReSharper 版本是 8.2 c# edition,build 8.2.0.2160

【讨论】:

  • 可能值得告诉我们您正在使用的 resharper 版本。只是为了完整的信息。干杯,
【解决方案3】:

我有同样的问题。我也使用 ReSharper (2017.2) 但不想禁用它。相反,我禁用了我不经常使用的所有其他扩展。我还卸载了所有不需要的工作负载。这不仅解决了 OutOfMemoryException,而且大大减少了项目加载时间。

【讨论】:

    【解决方案4】:

    这件事发生在我身上。我慢慢地回溯我的步骤,将 dbContext 中的 DbSets 一个一个地删除,直到它再次起作用。

    【讨论】:

      【解决方案5】:

      它在 Visual Studio 2015 中使用 Automatic feature suspension 解决。您将看到如下所示的弹出窗口。

      只需点击重新启用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多