【问题标题】:Debugging Long Compile Times in App_Code directory在 App_Code 目录中调试长编译时间
【发布时间】:2015-12-21 03:30:39
【问题描述】:

我有一个基于 .NET 4.0 ASP.net 项目模板的网站。突然间,当我重建我的解决方案时,App_Code 目录需要 3-4 分钟来编译(基于输出窗口中显示的内容)。这个目录中只有大约 13 个类,而且都非常小。

我尝试将这些文件从 App_Code 目录移到单独的类库项目中,但其中一些依赖于 System.Web.Security 命名空间,无法添加到非网站项目中。

什么是调试这个以确定编译过程陷入困境的最佳方法是什么?

【问题讨论】:

  • 我已打开详细调试,以便将大部分信息写入输出窗口,但仍会到达“构建目录'/App_Code/'”。消息,有时会挂在那里几分钟。没有提供更多信息。
  • 这是一个网站项目还是一个 Web 应用程序项目?如果是Web Application项目,那么App_Code中的代码就不必了,可以在网站的任何文件夹中,只要包含在项目中即可。
  • 这是一个网站项目。
  • 嗯,可能不是您想听到的建议,但网站项目是邪恶的,应该劝阻。失败和极端情况的情况太多了。

标签: asp.net c#-4.0 visual-studio-2015 web-site-project


【解决方案1】:

如果由于 Web 依赖性而无法将 app_code 文件移动到另一个项目,那么将它们移动到另一个文件夹中的同一个项目不会给您带来好处。

  1. 网站项目需要一段时间来构建,比网络应用项目更长。 所以,看看你能不能转换它。

  2. 您也可以尝试在编译标签下设置optimizeCompilations="true"。

  3. 更改构建项目选项以仅编译当前页面 运行或调试

更多参考 - https://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx

【讨论】:

  • 给我更多关于它的细节。我也可能会检查它。
  • 我花了几个小时尝试转换,但项目太大了,并且依赖于 Web 应用程序项目中不可用的配置文件系统。
  • 我能提供的唯一细节是 /App_Code 中有 13 个类,并且该目录有时需要几分钟才能编译(即使这些类非常小)。
【解决方案2】:

不幸的是,“App_Code”目录是一个黑匣子,您不能逐个文件地查看编译文件。我尝试迁移到 Web 应用程序模板,但由于我依赖默认情况下不支持的 Profile 提供程序框架,这使情况变得复杂。

我认为最好的解决方案是完全避免使用此模板。我将处理缓慢的编译时间,直到我可以完全迁移到 MVC。这一点尤其重要,因为 .NET 5.0 (Core) 根本不支持 Web 窗体。

【讨论】:

    【解决方案3】:

    尝试在您的 Web.config 文件中设置属性 batch="false"

    【讨论】:

    • 这对编译时间没有影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2020-12-09
    • 2011-09-17
    • 2018-06-04
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    相关资源
    最近更新 更多