[英]Speeding up compilation and unit testing in Visual Studio 2010 / Resharper / ASP.NET MVC
我正在使用Visual Studio 2010和Resharper开发中型ASP.NET MVC解决方案。 当我在1年半前开始开发它时,该项目非常快,但随着时间的推移,它变得越来越慢 - 不仅是编译,而且是ASP.NET重新初始化网站所需的时间。 由于我经常练习TDD和重构,我经常需要重新编译重新运行我的测试,所以我正在寻找方法来缓解这种情况,如果可能的话。
这个问题详细
从开始重新编译项目到能够在Web浏览器中查看结果,我需要大约20-25秒。
使用Resharper测试运行器运行单个单元测试(仅一个测试,而不是整个套件)也非常慢(大约15-20秒)。 出于一些奇怪的原因,似乎Resharper大部分时间都在初始化测试运行并且只花费很小一部分实际运行测试。
我已经做了什么:
然而,我仍然坚持上面的(缓慢?)数字,我觉得这会损害我的生产力。 现在我想知道下一步该做什么。
我目前的系统设置:
我的解决方案的规格:
现在我的问题:
谢谢,
阿德里安
编辑:一个特别奇怪的事情是,当我点击“构建解决方案”按钮时,Visual Studio花了大约8秒钟向我显示一个等待符号,直到它实际开始编译并且正在更新编译窗口。 在此期间,IDE是不受欢迎的。 这是实际编译时间的很大一部分。 我想知道Visual Studio在此期间做了什么?
对于那个大小的解决方案,看起来你的硬件确实没问题,应该足够快,可以进行构建测试。 我发现大多数构建性能问题(无论如何)都与项目依赖性有关,而与实际编译时间无关。 我有几个想法可以帮助您找出问题所在:
尝试将“MSBuild项目构建输出详细程度”转换为“诊断”(选项 - >项目和解决方案 - >构建和运行),同时安装VSCommands扩展(它包含显示每个步骤所用时间的构建统计信息扩展)并检查什么是谈论最多的时间。
GAC中是否依赖于其他项目(您引用的35个),或者它们是否分散在您的HD中? 它们是自动刷新引用(它们下面是否有.refresh文件)。 Maay尝试简化这些依赖项的解析,即将本地所有DLL复制到bin目录,看看它是否有帮助
你可以试试这个秘密Resharper.Internal特征“一致与MSBuild的建设”作为描述在这里 。
由于这是一个MVC项目,请确保您的项目的“构建视图”已关闭。
我保留它,以便编译器在我的客户之前发现我的错误。 但构建视图非常缓慢。
我遇到了类似的问题。 自从我点击'Run tests'
按钮后,花了一分钟左右的时间让测试运行。
我的问题是我的测试设置指向'Trace and Impact'
而不是'Local'
。
要选择测试设置,请转到'Test'
菜单,然后'Select Active Test Settings > Local'
。
这对我有用。
类似的问题在这里,我打开了“代码覆盖率”。
您可以设置将运行的构建服务器:
您将不得不等待大约相同的时间才能看到新版本上线,但它不会消耗您的开发PC资源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.