【问题标题】:In Visual Studio, how to make the incremental build just as fast the debug-session-triggered build?在 Visual Studio 中,如何使增量构建与调试会话触发构建一样快?
【发布时间】:2011-08-07 01:05:34
【问题描述】:

我有一个 Visual Studio 2010 解决方案,其中包含 40 个项目(C# + 一个 C++/CLI)。我配置了 Visual Studio,以便在开始调试之前构建整个解决方案。

现在假设我更改了一个没有其他项目依赖的“叶”项目的代码。当我以增量方式显式构建解决方案(F6F7)时,我会看到解决方案中每个项目的构建输出行。不过,最新的项目并没有被重新编译。例如,您看不到项目的警告。这确实需要时间(可能需要 5-10 秒)。

现在假设我再次更改同一个文件,并开始调试 (F5)。现在发生了一些不同的事情。仅重新编译更改的项目(需要 1 秒左右),然后调试几乎立即开始。

Visual Studio 似乎有两种增量构建策略,而最优化的一种似乎只能作为调试会话的副产品使用。

问题:

有没有办法在不启动调试会话的情况下手动调用这种更优化的构建策略?

【问题讨论】:

  • @BoltClock:哦,我想这取决于个人资料。我总是选择 C++ 键盘方案,F7 是增量构建。 (修正了问题)

标签: c# visual-studio-2010 incremental-build


【解决方案1】:

当您调试时,它只会构建要调试的项目。构建解决方案时,它会构建解决方案中的所有项目。即使没有实际编译,每个项目也会进行检查。构建过程中的这些步骤,即使没有执行编译操作,也是构建解决方案需要更长时间的原因。

如果您进入 Tools->Options... 并在 Projects and Solutions -> Build and Run 下查看名为 MSBuild 项目构建输出的设置详细程度 将其设置为 Normal 或更高应该可以让您更深入地了解构建与调试时实际发生的情况。您必须显示输出窗口并将其设置为显示构建输出以查看该设置的信息。

你可以按Shift+F6构建当前项目,速度应该是一样的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2014-03-21
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    相关资源
    最近更新 更多