【问题标题】:Exceedingly long compile time for Entity Framework projectEntity Framework 项目的编译时间过长
【发布时间】:2013-12-21 12:27:26
【问题描述】:

问题是一个项目从点击 F5 到呈现网页需要超过 45 秒的时间 - 大部分时间都在之后:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/22/ROOT-1-130320809789454211): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Framework\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Framework.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

及之前:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/22/ROOT-1-130320809789454211): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Data.Entity.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

我正在使用 VS2013 编译一个 4.5 目标项目,并且在 EF6.0.3 和 EF5 上看到了相同的行为,清理和构建时间几乎是瞬时的。

我正在使用逆向工程师工具生成的 Code First 和 POCO。中等复杂(几个多对多对象)但相当小 - 不到两打实体。

我对上下文的配置 ProxyCreationEnabled 和 LazyLoadingEnabled 进行了调整,但对构建时间没有影响。我已经删除了几个多对多关系 - 再次,没有效果。

我已经加载了几个示例 EF 项目进行比较,但我没有看到正在使用的 System.Data.Entity.dll。这可能与项目使用的数据库服务器有关吗?我的开发数据库不是使用 VS 的 LocalDb,而是 SQL 2012 开发版 - 只是因为我更喜欢使用 SSMS 观察/检查输出。

我最初尝试切换到 LocalDb,但在同一个地方遇到了不相关的错误和相同的延迟。如果它被认为是相关的,很高兴潜入那个兔子洞。

我几乎没有在 GAC 或框架内部故障排除方面的经验,所以如果通过更深入的检查来了解我的系统,请像对小孩一样慢慢说话。

非常感谢

【问题讨论】:

    标签: asp.net visual-studio entity-framework iis-express


    【解决方案1】:

    我浏览了我的 web.config 并发现了几个我不知道的部分 - 在将它们注释掉之后,编译时间减少了一半。

    【讨论】:

      猜你喜欢
      • 2012-11-12
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 2017-08-14
      相关资源
      最近更新 更多