gpt4 book ai didi

.net - 在 Visual Studio 2010/Resharper/ASP.NET MVC 中加速编译和单元测试

转载 作者:行者123 更新时间:2023-12-04 01:03:14 28 4
gpt4 key购买 nike

我正在使用 Visual Studio 2010 和 Resharper 开发中型 ASP.NET MVC 解决方案。当我 1 1/2 年前开始开发该项目时,它的速度非常快,但随着时间的推移,它变得越来越慢 - 不仅是编译,还有 ASP.NET 重新初始化网站所需的时间。由于我经常练习 TDD 和重构,因此我经常需要重新编译并重新运行我的测试,因此我正在寻找可能的方法来减轻这种情况。

问题详细

从开始重新编译项目到能够在 Web 浏览器中查看结果,我大约需要 20-25 秒。

使用 Resharper 测试运行器运行单个单元测试(只是一个测试,而不是整个套件)也很慢(大约 15-20 秒)。出于某种奇怪的原因,Resharper 似乎花费了大部分时间来初始化测试运行,而实际运行测试只花费了很小的一部分。

我已经做的:

  • 用 SSD 替换了我的硬盘(影响巨大)
  • 将 ASP.NET 的编译和 Windows Temp 目录移动到类似 SSD 的(硬件)RAM 驱动器(影响很大,但那是在 SSD 之前)
  • 禁用了一个我很少修改的项目的自动编译(影响很小,因为该项目反正很小)。
  • 清除对 .NET 和第三方库的不必要引用(影响非常小,如果有的话)
  • this blog post中讨论的一些黑魔法. (非常小的影响,如果有的话)。

  • 然而,我仍然坚持上面的(缓慢?)数字,我觉得这正在损害我的生产力。现在我想知道下一步该怎么做。

    我当前的系统设置:
  • 酷睿 2 四核 Q6600 CPU
  • 4GB DDR2 800 内存
  • 120 GB 固态硬盘
  • Windows 7 x64
  • 带有 Resharper 5.5 的 Visual Studio 2010 Ultimate

  • 我的解决方案规范:
  • 22.000 行 .NET 4 C# 代码
  • 3 个项目:一个 ASP.NET MVC,一个测试项目,另外两个包含一个小型通用库,除非有什么改变,否则我不会编译。
  • 35 次引用其他库(.NET 框架和开源内容)
  • ~200 次浏览
  • 850 个单元测试

  • 现在我的问题:
  • 将我的 RAM 升级到 8GB 可以显着提升性能吗?
  • 这些数字正常吗?或者这可能是我的解决方案的问题?
  • 你接下来会尝试什么(除了购买一台全新的电脑)?

  • 谢谢,

    阿德里安

    编辑:一件特别奇怪的事情是,当我点击“构建解决方案”按钮时,Visual Studio 会花费大约 8 秒的时间向我显示一个等待符号,直到它真正开始编译并且编译窗口正在更新。在此期间,IDE 没有响应。这是实际编译时间的很大一部分。不知道这期间Visual Studio在做什么?

    最佳答案

    对于这种大小的解决方案,您的硬件似乎确实没问题,并且应该足够快以进行构建测试。我发现大多数构建性能问题(在我的情况下)都与项目依赖项有关,而不是与实际编译时间有关。我有几个想法可以帮助您找出问题所在:

  • 尝试将“MSBuild 项目构建输出详细程度”转换为“诊断”(选项-> 项目和解决方案-> 构建和运行),同时安装 VSCommands 扩展(它包含一个构建统计扩展,显示每个步骤所用的时间)并检查谈论最多的部分是什么。
  • GAC 中是否存在对其他项目(您所指的 35 个)的依赖,或者它们是否分散在您的 HD 中?它们是否自动刷新引用(它们下面是否有 .refresh 文件)。 Maay 尝试简化这些依赖项的解析,即将本地所有 DLL 复制到 bin 目录,看看是否有帮助
  • 关于.net - 在 Visual Studio 2010/Resharper/ASP.NET MVC 中加速编译和单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589635/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com