![](/img/trans.png)
[英]Speeding up compilation and unit testing in Visual Studio 2010 / Resharper / ASP.NET MVC
[英]Speeding up build times in ASP.NET
我目前参与了一个ASP.NET项目,该项目包含大约40个项目。 我们正在克隆的Virtual PC环境中进行所有开发,因此所有开发人员都具有相同的设置。 这一切都很好,管理依赖关系很容易,但构建解决方案的速度非常慢。 Virtual PC只能使用一个CPU,因此我实际上只使用了一半的计算机资源。
从构建到完整的页面加载需要整整3分钟......随着项目的增长,它每天都在变得越来越糟糕。 修复简单的事情开始花费很长时间并且个人而言,我一直在等待,因为我在计算机编译时无法真正工作。
有没有办法在多台计算机上分配我的构建以加快构建过程?
SSD会不会明显改善我的构建时间?
有没有其他方法可以加快构建速度?
注意 :我尝试使用ngen预编译静态依赖项,但后来读到ASP.NET不支持ngen 。 我使用Visual Studio 2008,虚拟环境中没有防病毒软件。
通过执行以下操作,您可以大大减少等待ASP.NET构建的时间:
希望能帮助到你!
瓦格纳丹达达席尔瓦
以下是使用ASP.NET加快构建时间的另一个提示:
希望能帮助到你!
瓦格纳丹达达席尔瓦
您是否每次都需要重建所有40个项目。
您可以配置在“解决方案配置”设置中构建的内容。
即如果您的更改仅在您的WebUI项目中,并且其他39个项目未更改,则可以创建仅在重建Web应用程序的构建配置。
Scott Gu有一个相当有用的帖子:
提示/技巧:使用VS 2005优化ASP.NET 2.0 Web项目构建性能
Scott还有另一篇关于此硬盘速度的文章,它也对Visual Studio的一般性能有影响:
不要在解决方案中放置太多项目。 仅在代码在不同进程或不同计算机上运行时才创建新项目。 在大多数情况下,创建这么多项目是没有用的。 项目数量是msbuild中最显着的减速。
我们在公司所做的是使用文件引用,因此只需要构建已更改的项目,并且在任何给定时间我的解决方案中不超过10个项目,大多数是2~3个项目。
我们还为每次签入构建我们的主干,并为开发人员提供批处理文件以提取最新的dll。
当然,这并不能阻止痛苦的装配参考错误的发生,但是它们在一段时间后变得比问题更令人讨厌。
你没有提到你的Visual Studio版本,但如果它是2005年你可能想考虑升级到2008.在我的情况下,这减少了大型(30+项目)解决方案的构建时间。
另一种选择是预先构建一些不再更改的库,并引用已编译的dll而不是项目。
我们有类似的情况,我发现我们的虚拟机受到严重限制,因此虽然它们每个都运行在一个CPU上,但是不允许它们充分利用该CPU。 我设法在一个物理上运行3个虚拟机,所有都执行速度提高100%。
我还试着减少你的项目数量。 我们的主要解决方案有40个项目,我一直在慢慢整合这些项目,并确保新开发项目尽可能适应现有项目。 这方面的主要元凶是webservices,其中每个服务最初都是在一个单独的项目中创建的。 我现在将所有新的Web服务添加到一个项目中,然后慢慢移动其他项目。
您也可以考虑切换到VMware Workstation,它使用多个处理器。 我目前正在使用具有两个双处理器VM的设置,并且所有四个都可以使用。
您是否尝试过调整虚拟PC?
http://www.windowsnetworking.com/articles_tutorials/Tuning-Virtual-PC-Performance.html
旧文章,但要点仍然是正确的。
我发现,在类似的情况下,为VPC磁盘映像配备一个单独的硬盘可以显着提高性能,尤其是在删除一些限制时。
也许问题不是Visual Studio,只是编译是资源密集的事实。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.