我使用Xorax IncrediBuild来构建Visual Studio 2013(或更高版本)的解决方案和项目,它们主要是.vcxproj和一堆.csproj。
经过一番挖掘,我了解到:
- 当IncrediBuild与常规Visual Studio一起使用时,默认情况下使用Devenv.exe。 - 自5.0版本以来,BuildConsole.exe支持一个新开关:/UseMSBuild,可以明确指示IncrediBuild使用MSBuild的构建引擎,而不是默认的Visual Studio的DevEnv。
因此,在Visual Studio项目的情况下,有两种模式可用:
经过一番挖掘,我了解到:
- 当IncrediBuild与常规Visual Studio一起使用时,默认情况下使用Devenv.exe。 - 自5.0版本以来,BuildConsole.exe支持一个新开关:/UseMSBuild,可以明确指示IncrediBuild使用MSBuild的构建引擎,而不是默认的Visual Studio的DevEnv。
因此,在Visual Studio项目的情况下,有两种模式可用:
BuildConsole.exe MyProj.vcxproj
使用DevEnv.exe
BuildConsole.exe MyProj.vcxproj /usemsbuild
使用MSBuild.exe
我想知道使用这两个引擎是否有任何差别。
我做了一些测试,发现:
DevEnv.exe
的 "Initializing..." 阶段需要稍微更长的时间。BuildConsole.exe
显然会生成不同的输出。在构建性能方面没有(或只有微不足道的)差异。
对于构建单个 C/C++ 本地项目(.vcxproj
)以及整个解决方案(.sln
),使用 DevEnv.exe
和 MSBuild.exe
有什么优缺点?