在开发周期中监视或加速ASP.NET编译的提示

时间:2009-08-11 14:41:02

标签: asp.net visual-studio-2008 msbuild

我在一个大型ASP.NET应用程序上工作。偶尔,我会对bin /目录中的DLL或某些代码隐藏文件等进行一些更改。这些将导致ASP.NET重新编译某些文件,复制到影子目录等。全部,你可以有时看到这个过程需要几分钟或更长时间我通常只是看任务管理器,如果我看到csc.exe或其他东西,我认为我们仍在编译。如果我看到w3wp.exe比我知道我们继续前进。

所以,这留下了两个问题: 1.有哪些提示可以加速ASP.NET编译? 2.我可以监控(使用一些调试工具)ASP.NET实际上在做什么吗?我想象一下调试 控制台会写出如下内容:

11:32:32 AM - 将foo.ascx.cs编译为c:\ windows \ system32 .. \ afdjakllfjkal.dll

THX, 道格

2 个答案:

答案 0 :(得分:3)

您可以执行以下操作之一(或两者)以加快构建时间:

  1. 如果你有足够的内存,创建一个RamDisk并将你的ASP.NET临时文件指向这个基于ram的磁盘。查看此博客文章,了解有关如何使用RamDisk加快ASP.NET项目构建时间的更多详细信息:http://www.wagnerdanda.me/2009/11/speeding-up-build-times-in-asp-net-with-ramdisk/

  2. 使用新的“optimizeCompilations”标志。 它会告诉.NET不要仅因为您更改了一个项目/ dll 而重建整个项目。如果你有40个项目并且不使用它,那么每次在一个项目中更改一个简单方法时,.NET将尝试编译所有其他项目和dll。使用新标志(加上修补程序的安装),您将看到在开发过程中大大提高了整体性能。请查看此博客文章,详细了解如何使用optimizeCompilations标记加快构建速度:http://www.wagnerdanda.me/2009/11/optimizing-asp-net-build-time-with-dynamic-compilation-and-optimizecompilations/ [cache]

答案 1 :(得分:2)

我通常可以将网站项目的构建时间设置为“决斗装配”。作为described by Scott Guthrie here。我会按照他在文章中给出的建议,看看你的构建时间是否有所改善。