【问题标题】:C# & VS2015: How to save time when compiling?C# & VS2015:编译时如何节省时间?
【发布时间】:2016-04-01 11:52:54
【问题描述】:

所以,我有一个很大的项目,里面有很多东西,但是当我修复代码时,VS2015 会再次编译整个项目,这需要很多时间。我可以以某种方式只编译我编辑的文件吗?
编辑:我有一个解决方案,我有一个项目,在那个项目中我有很多文件。

【问题讨论】:

  • 某事告诉我你的项目太大了,应该分成子项目。一个项目生成 one 二进制文件,因此如果一个文件发生更改,您将无法避免重建该二进制文件。
  • 您是指 1 个包含大量文件的项目还是 1 个包含大量项目的解决方案?
  • @LasseV.Karlsen 我有一个解决方案,它有一个项目,里面有很多文件。
  • 那我的回答也没用。
  • @LasseV.Karlsen 但是如果我只使用一个项目可以加快速度吗?

标签: c# visual-studio-2015 compiler-optimization


【解决方案1】:

构建过程很智能,它会跳过未更改且依赖项也未更改的项目。如果您更改了或多或少整个解决方案所使用的库中的某些内容,那么除了重建(可能)触及的所有内容之外别无选择。

您可以尝试自己调整依赖项,右键单击解决方案并选择“项目依赖项...”。但是您不能删除需要或推断的依赖项。

【讨论】:

  • 在 Visual Studio 中,项目要么完全构建,要么完全跳过。输出是一个 DLL(程序集),不能修补 DLL 以“仅注入更改”,它必须重新构建。正如其他人已经建议的那样,将您的大型项目分成多个较小的项目可能会证明是有价值的。祝你好运!
  • 我在解决方案中有一个项目...但如果我将它拆分,它将起作用!
【解决方案2】:

获取 SSD 作为构建驱动器。速度很快。

这里给出的所有其他提示都是给定的 - 构建是智能的,因此它只会重新编译需要重新编译的内容。但是,如果您有一个触发数十个项目进行更新的基础库,这几乎没有帮助。

编译受 IO 限制,因此 SSD 会有所帮助

否则,可能是时候销毁该大型解决方案并生成基础库的内部 NUGET 包了。这可以解耦基础库和实际应用程序的重新编译。如果您对基础库进行维护,这将特别有用。

【讨论】:

    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多