我使用 Xorax IncrediBuild 构建 Visual Studio 2013 (或更高版本)解决方案和项目,它们主要是 .vcxproj
带着一堆.csproj
那些。
我花了一点时间挖掘,但我了解到:
BuildConsole.exe
支持新开关:/UseMSBuild
至 specifically instruct IncrediBuild to use MSBuild's build engine instead of the default Visual Studio's DevEnv . 因此,对于 Visual Studio 项目,有两种模式可用:
BuildConsole.exe MyProj.vcxproj
使用 DevEnv.exe
BuildConsole.exe MyProj.vcxproj /usemsbuild
使用 MSBuild.exe
我想知道是否有任何差异在使用两个引擎之间。
我做了一些测试并观察到:
DevEnv.exe
的情况下需要稍长的时间. BuildConsole.exe
显然,产生不同的输出。 如果构建单独的 C/C++ 原生项目 (
.vcxproj
) 以及整个解决方案 ( .sln
), 优缺点是什么使用 DevEnv.exe
与 MSBuild.exe
?
最佳答案
** 免责声明:我在 IncrediBuild 工作 **
我们已与 Microsoft 共同确定,为了获得与在 Visual Studio 中构建行为相同的构建(不使用 IncrediBuild),应该使用 DevEnv。 MSBuild 执行构建的方式与 VS 略有不同,无论是在它生成的构建输出上,还是在执行自定义步骤和其他一些小事情时的行为方式上。如果用户希望 IncrediBuild 构建的行为方式与他从 Visual Studio 构建时习惯的方式相同,则应使用默认方式(IncrediBuild 执行 DevEnv)。如果用户习惯于使用 MSBuild 执行其构建,无论是从命令行还是通过 TFS,都应使用 UseMSBuild 开关。我们希望允许用户根据他们习惯的方式来选择他们希望 IncrediBuild 的工作方式,就像 Microsoft 支持 DevEnv 和 MSBuild 一样。
补充评论:
关于visual-studio - 将 IncrediBuild 与 DevEnv.exe 与 MSBuild.exe 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582932/