Visual studio 2015 VS2015 devenv构建是否以asnc方式运行?

Visual studio 2015 VS2015 devenv构建是否以asnc方式运行?,visual-studio-2015,jenkins-pipeline,devenv,Visual Studio 2015,Jenkins Pipeline,Devenv,正在尝试创建Jenkins管道以运行devenv来构建SSIS项目。当构建在后台运行时,devenv似乎会立即返回。我以前在VS2010上做过这项工作,据我记忆所及,在构建完成之前,devenv没有返回控制台 我正在运行:devenv mysolution.sln/build“debug | Any Cpu”。命令提示符立即返回。项目的bin或obj文件夹中没有生成输出。如果我只是观察文件夹,构建输出最终(几秒钟)就会显示出来 有没有办法确保devenv在所有工作完成之前不会返回?我已经尝试了所

正在尝试创建Jenkins管道以运行devenv来构建SSIS项目。当构建在后台运行时,devenv似乎会立即返回。我以前在VS2010上做过这项工作,据我记忆所及,在构建完成之前,devenv没有返回控制台

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

有没有办法确保devenv在所有工作完成之前不会返回?我已经尝试了所有与命令行帮助相关的选项。谷歌似乎没有多少相关信息

有什么想法吗?

选项1:
msbuild
很可能,到目前为止最简单的方法是使用
msbuild
。支持SSI,如中所述

msbuild/t:Build/p:Configuration=Debug your_solution.sln
然而,这不是你的选择,因此

选项2:生成进程并等待
devenv
完成 在Powershell中执行此操作的一种方法是
Get Process
,如中所述

要捕获输出,您可以选择或/或类似的方式:

devenv.exe your_solution.sln/build“debug | any cpu”/out“c:\buildlog.txt”
Upd这部分文档似乎解释了不同devenv口味之间的差异:

以devenv开头的命令由devenv.com实用程序处理,该实用程序通过标准系统流(如stdout和stderr)提供输出。该实用工具在捕获输出(例如到.txt文件)时确定适当的I/O重定向

或者,以devenv.exe开头的命令可以使用相同的开关,但会绕过devenv.com实用程序。使用devenv.exe直接防止输出显示在控制台上


运行
msbuild mysolution.sln是否是一个选项?我相信你可以@timur,这不是我们的选择。我们必须使用MS定义的过程(这是一个合规性问题),它是命令行devenv。您能够从批处理文件运行devenv吗?然后你可能会在退出批处理之前。嗯。。。我在Jenkins里面运行一个Groovy脚本。我必须看看我是否能在Groovy中解决这个问题。@timur我设置Jenkins运行devenv,然后使用Powershell在Get进程上循环检查它。我现在遇到的问题是devenv没有输出。我得到一个rc=1,但我不知道为什么。我尝试了/out:buildlog.txt,但它没有创建任何文件。这是我的命令:devenv.exe adsmetricsetl.sln/build“debug | any cpu”它也可以在我的命令提示符下工作,但同样没有输出。思想?