7

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

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

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

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

问题:

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

4

1 回答 1

2

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

如果您进入Tools->Options...并查看Projects and Solutions -> Build and Run有一个名为MSBuild project build output verbosity的设置,将其设置为Normal或更高应该可以让您更深入地了解什么时候发生的实际情况您构建与调试。您必须显示输出窗口并将其设置为显示构建输出以查看该设置的信息。

您可以通过按 Shift+F6 来构建当前项目,这应该具有相同的速度。

于 2011-05-22T04:37:01.547 回答