8

您能否建议我如何加快编译、加载大型解决方案(约 50 个项目)。我的意思是只有 VS 2012 工作室或 Windows 设置,而不是硬件更改。

谢谢

4

2 回答 2

7

考虑您在一个解决方案中需要 50 个项目 - 有许多相互引用的项目是减速的主要原因之一。

拥有单独项目的少数正当理由之一是因为您需要单独部署生成的程序集。如果不是这种情况,请考虑合并项目 - 使用文件夹进行逻辑分离。

项目数量越少,构建速度就越快。

此外,如果您将构建更改为输出到特定的共享目录并引用 DLL 而不是项目,则不需要的重新编译的数量应该会大大减少,尽管您必须自己管理构建顺序。

于 2013-01-16T09:50:01.783 回答
5

我在使用 Visual Studio 2012 Update 3 的解决方案中使用了 100 多个项目,而且构建速度很快。

  1. 我同意 Oded 的共享输出目录评论,但我想提一下,项目引用也可以正常工作。
  2. 确保您的 \Users\\AppData\Local\Microsoft\WebsiteCache 文件夹为空。不知何故,即使使用仅限桌面的解决方案,这也是一个问题。
  3. 我禁用了 Productivity Power Tools 2012,因为它们在后台编译代码,这对我来说有点太多了。禁用所有插件和扩展,看看它是否有任何区别。
  4. 通过减少输出详细程度来抑制过多的输出消息到磁盘和屏幕 构建运行
  5. 将多核与 MSBuild 结合使用。
  6. 在编写代码时,请尝试使用接口和抽象类 (C#) 来限制项目之间的依赖关系。
  7. 尝试新鲜的 *.suo 和新鲜的 *.sdf 文件。(备份用户设置和数据库,然后删除它们并再次尝试构建)
  8. 当所有其他方法都失败时,请使用 ProcessMonitor 或附加 Visual Studio 的另一个实例,以便在构建 Visual Studio 时对其进行分析。
  9. 尝试从您的构建中排除文件系统过滤器,例如防病毒。例如,某些防病毒软件有一种方法可以跳过对某些目录或文件名的扫描。
于 2013-10-09T16:42:12.630 回答