VS2015 devenv 构建运行 asnc?

VS2015 devenv build runs asnc?

正在尝试创建 Jenkins 管道 运行 devenv 以构建 SSIS 项目。似乎 devenv returns 在后台构建 运行s 时立即出现。我以前用 VS2010 做过这个,据我所知,在构建完成之前,devenv 没有 return 到控制台。

我正在 运行宁:devenv mysolution.sln /build "debug|Any Cpu"。命令提示符立即 returns。项目的 bin 或 obj 文件夹中没有构建输出。如果我只是观察文件夹,构建输出最终(几秒钟)就会显示出来。

有什么方法可以确保 devenv 在所有工作完成之前不会 return?我已经尝试了命令行帮助中似乎相关的所有选项。在 Google 上不多,或者 SO 似乎相关。

有什么想法吗?

选项 1:msbuild

可能,到目前为止,最简单的方法是使用 msbuild。 SSIS 的支持如

中所述
msbuild /t:Build /p:Configuration=Debug your_solution.sln

然而,这不是您的选择,因此

选项 2:生成进程并等待 devenv 完成

在 Powershell 中执行此操作的一个选项是 Get-Process,如

中所述

要捕获输出,您可能会选择 /out or/and /log,如下所示:

devenv.exe your_solution.sln /build "debug|any cpu" /out "c:\buildlog.txt"

Upd 这部分文档似乎解释了不同 devenv 风格之间的区别:

Commands that begin with devenv are handled by the devenv.com utility, which delivers output through standard system streams, such as stdout and stderr. The utility determines the appropriate I/O redirection when it captures output, for example to a .txt file.

Alternatively, commands that begin with devenv.exe can use the same switches, but the devenv.com utility is bypassed. Using devenv.exe directly prevents output from appearing on the console.